text:
Tabbing or clicking away from a new page title does not persist the title

tabs repro

create a new page with the chord option+shift+n
click into the title
type a new title (ex my new page)
press tab

click repro
1-3. same as above
4. click into the body of the document
expectation vs reality (same for click and tab)
expected: page title is saved
actual: page title reverts to the default (ex Untitled, in English)

Yeah this is by design. Right now you have to press enter to apply the change. Do you think it should always save? I guess that can also make sense.

I suppose this originates from the time that it was still a bit scary to rename a page, but I think once I fix #221 this should be fine.

Seems UX-consistent to auto-save titles if the document body is being auto-saved.

Agreed, I'll change this.

authors: mkraft zefhemel


text:
use bulti-in serverless normalization

Fixes: #15 #9
Changes:

use provider.naming.getLambdaLogicalId instead of _normalize
use provider.naming.getLambdaSnsPermissionLogicalId instead of _normalizeTopicName
remove _normalize
remove _normalizeTopicName
mock built-in functions within tests

Coverage decreased (-0.7%) to 90.196% when pulling eef5e65cbbfaf28b14722846ca73c4f6dbb89d87 on nitely:feature/use_built_in_normalization into 8c7fc6dc03f9e1b31adc9c2b3f89420f46ca72aa on silvermine:master.

Nice work! Thanks!

source: gharchive/pull-request

authors: coveralls jthomerson nitely

license: mit

license_type: permissive

license_source: bigquery


text:
flush() not called if class implements an interface which itself extends Flushable

Affected Version
Found in 4.10.x
Description
flush() is only called on classes that directly implement Flushable - if there is an interface between the class and Flushable, the flush() method is not called.
Steps to Reproduce
Create a template which extends Flushable, and a class that implements your new interface. When you flush, the flush() method of your class will not be called.
use SilverStripe\Core\Flushable;

interface FlushableSubInterface extends Flushable
{}

class FlushableClass implements FlushableSubInterface
{
    public static function flush()
    {
        echo "this should be called, but it isn't";
    }
}

Acceptance Criteria

[ ] flush() is called on any class that implements Flushable, whether directly or indirectly.
[ ] determine whether flush() should be called on subclasses (probably not, unless flush() is explicitly overridden in that class?)

Re: the second point, I'd say flush should be called on subclasses as long as the method is accessible to that class. Why would we do something custom/unpredictable to break the inheritance? And would it be called on the classes in the middle in the inheritance chain if one class in the middle didn't override the method? Just thinking out loud.

So my thinking for the second point is that if the subclass hasn't included any special logic, we'd end up calling flush on both the subclass and the parent class, which will just perform the same flushing activity twice (or up to as many times as there are subclasses).
Though now that I write that all out it doesn't sound like much of a problem, really. Not likely to be much of a performance hit (and small hits on flush are kinda expected anyway) and not likely to cause any actual problems I don't think.

source: gharchive/issue

authors: GuySartorelli michalkleiner

repo: silverstripe/silverstripe-framework

license_source: github-api


text:
Required fields does not work for auto-scaffolded SearchableDropdownField

Replication steps

Create a non-inline editable elemental content block
Add a has_one relation to a 'MySiteTree' => SiteTree::class
Add include the validation php block below

    public function getCMSCompositeValidator(): CompositeValidator
    {
        return CompositeValidator::create([RequiredFields::create(['MySiteTree'])]);
    }

You can leave the field blank and submit and the required fields validation won't trigger
Related

https://github.com/silverstripe/silverstripe-elemental/issues/1155

PR

https://github.com/silverstripe/silverstripe-framework/pull/11213

Using https://github.com/silverstripe/silverstripe-elemental/issues/1155 as the parent issue instead


text:
RFC Delete changelogs from docs for other major versions

Affected Version
4.x and 3.x branches on docs.silverstripe.org
Description
We store changelogs for all versions on each major version branch. This produces a whole lot of false positives when searching a branch for docs.
Steps to Reproduce
Seach for any string, and select a major version. Your results will include changelogs from other versions.
https://docs.silverstripe.org/en/4/results?q=allowed_extensions&Versions=4&action_results=Search
Suggested fix
For 4 branch delete all 3.x and 2.x changelog files.
For 3 ranch, delete all 2.x changelog files
For 5 branch delete all changelog files with a placeholder for 5.0.0.md

I wonder if perhaps the changelogs could be routed to be loaded only from the newest major branch, that way we have canonical references for each as they get merged up?

YES PLEASE. I'm also recommending to replace our shitty docs.ss.org search, which would fix this issue by blacklisting changelogs, but I think removing changelogs from older release lines is a good idea regardless. https://github.com/silverstripe/doc.silverstripe.org/issues/176

https://github.com/silverstripe/silverstripe-framework/pull/8107 and https://github.com/silverstripe/silverstripe-framework/pull/8108

authors: chillu robbieaverill tractorcow


text:
Allow to use absolute path and make path relative to current working directory

This would be inline with h5py and h5glance behaviour.

Fixed by the new h5grove-based backend #40

license: MIT


text:
[silx view] silx view seg fault with python3.4 and PySide

On debian8 in a virtual environment

The question is when.
If it is at the closure, well, that's a known issue.

No it is at start-up.
By the way, it is the same with python2.

Starting program: /workspace/valls/env/py27-pyside/bin/python -m silx view ../training.git/python/io/data/ID16B_diatomee.edf
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe7edb700 (LWP 14981)]
[New Thread 0x7fffe76da700 (LWP 14982)]
[New Thread 0x7fffe4ed9700 (LWP 14983)]
[New Thread 0x7fffe26d8700 (LWP 14984)]
[New Thread 0x7fffdfed7700 (LWP 14985)]
[New Thread 0x7fffdd6d6700 (LWP 14986)]
[New Thread 0x7fffdaed5700 (LWP 14987)]
[New Thread 0x7fffd86d4700 (LWP 14988)]
[New Thread 0x7fffd5ed3700 (LWP 14989)]
[New Thread 0x7fffd36d2700 (LWP 14990)]
[New Thread 0x7fffd0ed1700 (LWP 14991)]
[Thread 0x7fffe76da700 (LWP 14982) exited]
[Thread 0x7fffd5ed3700 (LWP 14989) exited]
[Thread 0x7fffdd6d6700 (LWP 14986) exited]
[Thread 0x7fffd86d4700 (LWP 14988) exited]
[Thread 0x7fffe7edb700 (LWP 14981) exited]
[Thread 0x7fffdfed7700 (LWP 14985) exited]
[Thread 0x7fffd0ed1700 (LWP 14991) exited]
[Thread 0x7fffdaed5700 (LWP 14987) exited]
[Thread 0x7fffd36d2700 (LWP 14990) exited]
[Thread 0x7fffe26d8700 (LWP 14984) exited]
[Thread 0x7fffe4ed9700 (LWP 14983) exited]
WARNING:silx.app.view:Module 'hdf5plugin' is not installed. It supports some hdf5 compressions. You can install it using "pip install hdf5plugin".
WARNING:silx.gui.data.DataViews:Plot3dView is not available
WARNING:silx.gui.data.DataViewer:_Plot3dView instantiation failed. View is ignored

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5e0c71b in Shiboken::Object::removeParent(SbkObject*, bool, bool) () from /workspace/valls/env/py27-pyside/local/lib/python2.7/site-packages/PySide/libshiboken-python2.7.so.1.2
#0  0x00007ffff5e0c71b in Shiboken::Object::removeParent(SbkObject*, bool, bool) () from /workspace/valls/env/py27-pyside/local/lib/python2.7/site-packages/PySide/libshiboken-python2.7.so.1.2
#1  0x00007ffff5e0e5bc in Shiboken::Object::deallocData(SbkObject*, bool) () from /workspace/valls/env/py27-pyside/local/lib/python2.7/site-packages/PySide/libshiboken-python2.7.so.1.2
#2  0x00007ffff5e0e832 in SbkDeallocWrapper () from /workspace/valls/env/py27-pyside/local/lib/python2.7/site-packages/PySide/libshiboken-python2.7.so.1.2
#3  0x00000000004a4920 in ?? ()
#4  0x00007ffff65ce553 in signalInstanceConnect () from /workspace/valls/env/py27-pyside/local/lib/python2.7/site-packages/PySide/libpyside-python2.7.so.1.2
#5  0x00000000004c9196 in PyEval_EvalFrameEx ()
#6  0x00000000004e4518 in ?? ()
#7  0x0000000000502ab8 in ?? ()
#8  0x0000000000501afa in ?? ()
#9  0x00000000004b988b in ?? ()
#10 0x00000000004c9e8b in PyEval_EvalFrameEx ()
#11 0x00000000004c996a in PyEval_EvalFrameEx ()
#12 0x00000000004c996a in PyEval_EvalFrameEx ()
#13 0x00000000004c7a59 in PyEval_EvalCodeEx ()
#14 0x00000000004c96fd in PyEval_EvalFrameEx ()
#15 0x00000000004c996a in PyEval_EvalFrameEx ()
#16 0x00000000004c7a59 in PyEval_EvalCodeEx ()
#17 0x00000000004c72e6 in PyEval_EvalCode ()
#18 0x00000000004cfc3e in PyEval_EvalFrameEx ()
#19 0x00000000004c7a59 in PyEval_EvalCodeEx ()
#20 0x00000000004c96fd in PyEval_EvalFrameEx ()
#21 0x00000000004e4518 in ?? ()
#22 0x00000000004b32de in PyObject_Call ()
#23 0x0000000000542526 in ?? ()
#24 0x0000000000498305 in Py_Main ()
#25 0x00007ffff6f12b45 in __libc_start_main (main=0x497c60 <main>, argc=5, argv=0x7fffffffde28, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffde18)
    at libc-start.c:287
#26 0x0000000000497b8b in _start ()

Here is the backtrace with python 2.7 dbg. I can't say there is something very interesting there.
0x000000000048d31a in PyObject_GetAttrString (v=0x7fffdbbda498, name=0x7ffff6468e09 "connect") at ../Objects/object.c:1133
1133	../Objects/object.c: No such file or directory.
#0  0x000000000048d31a in PyObject_GetAttrString (v=0x7fffdbbda498, name=0x7ffff6468e09 "connect") at ../Objects/object.c:1133
#1  0x00007ffff646102b in signalInstanceConnect () from /workspace/valls/env/py27dbg-pyside/local/lib/python2.7/site-packages/PySide/libpyside-python2.7-dbg.so.1.2
#2  0x0000000000489928 in PyCFunction_Call (func=0x7fffdbf25420, arg=0x7ffff6bdb680, kw=0x0) at ../Objects/methodobject.c:85
#3  0x000000000052b7f6 in call_function (pp_stack=0x7fffffffb880, oparg=1) at ../Python/ceval.c:4033
#4  0x00000000005266ca in PyEval_EvalFrameEx (f=0x15f5260, throwflag=0) at ../Python/ceval.c:2679
#5  0x0000000000528f7e in PyEval_EvalCodeEx (co=0x7ffff6ca11a0, globals=0x7ffff6bcad30, locals=0x0, args=0x7ffff6c39088, argcount=1, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at ../Python/ceval.c:3265
#6  0x00000000004665d1 in function_call (func=0x7fffeda37060, arg=0x7ffff6c39060, kw=0x0) at ../Objects/funcobject.c:526
#7  0x0000000000427c3a in PyObject_Call (func=0x7fffeda37060, arg=0x7ffff6c39060, kw=0x0) at ../Objects/abstract.c:2529
#8  0x0000000000442e09 in instancemethod_call (func=0x7fffeda37060, arg=0x7ffff6c39060, kw=0x0) at ../Objects/classobject.c:2602
#9  0x0000000000427c3a in PyObject_Call (func=0x7fffe6c859e0, arg=0x7ffff7f8c060, kw=0x0) at ../Objects/abstract.c:2529
#10 0x00000000004c5ab4 in slot_tp_init (self=0x7fffe4589ab0, args=0x7ffff7f8c060, kwds=0x0) at ../Objects/typeobject.c:5692
#11 0x00000000004b34b8 in type_call (type=0x103aea0, args=0x7ffff7f8c060, kwds=0x0) at ../Objects/typeobject.c:745
#12 0x0000000000427c3a in PyObject_Call (func=0x103aea0, arg=0x7ffff7f8c060, kw=0x0) at ../Objects/abstract.c:2529
#13 0x000000000052c622 in do_call (func=0x103aea0, pp_stack=0x7fffffffc140, na=0, nk=0) at ../Python/ceval.c:4251
#14 0x000000000052b9e6 in call_function (pp_stack=0x7fffffffc140, oparg=0) at ../Python/ceval.c:4056
#15 0x00000000005266ca in PyEval_EvalFrameEx (f=0x103b290, throwflag=0) at ../Python/ceval.c:2679
#16 0x000000000052bcb7 in fast_function (func=0x7fffeda32f78, pp_stack=0x7fffffffc450, n=1, na=1, nk=0) at ../Python/ceval.c:4119
#17 0x000000000052b9ca in call_function (pp_stack=0x7fffffffc450, oparg=1) at ../Python/ceval.c:4054
#18 0x00000000005266ca in PyEval_EvalFrameEx (f=0xa34090, throwflag=0) at ../Python/ceval.c:2679
#19 0x000000000052bcb7 in fast_function (func=0x7ffff6bd7450, pp_stack=0x7fffffffc760, n=2, na=2, nk=0) at ../Python/ceval.c:4119
#20 0x000000000052b9ca in call_function (pp_stack=0x7fffffffc760, oparg=1) at ../Python/ceval.c:4054
#21 0x00000000005266ca in PyEval_EvalFrameEx (f=0xb01200, throwflag=0) at ../Python/ceval.c:2679
#22 0x0000000000528f7e in PyEval_EvalCodeEx (co=0x7ffff6cc6eb0, globals=0x7ffff6ca06c8, locals=0x0, args=0xada668, argcount=2, kws=0xada678, kwcount=0, defs=0x7ffff6c39a98, defcount=1, closure=0x0)
    at ../Python/ceval.c:3265
#23 0x000000000052bdc9 in fast_function (func=0x7ffff6bd7798, pp_stack=0x7fffffffcc00, n=2, na=2, nk=0) at ../Python/ceval.c:4129
#24 0x000000000052b9ca in call_function (pp_stack=0x7fffffffcc00, oparg=1) at ../Python/ceval.c:4054
#25 0x00000000005266ca in PyEval_EvalFrameEx (f=0xada4d0, throwflag=0) at ../Python/ceval.c:2679
#26 0x000000000052bcb7 in fast_function (func=0x7ffff6c7b840, pp_stack=0x7fffffffcf10, n=0, na=0, nk=0) at ../Python/ceval.c:4119
#27 0x000000000052b9ca in call_function (pp_stack=0x7fffffffcf10, oparg=0) at ../Python/ceval.c:4054
#28 0x00000000005266ca in PyEval_EvalFrameEx (f=0x7ffff6d5b7e0, throwflag=0) at ../Python/ceval.c:2679
#29 0x0000000000528f7e in PyEval_EvalCodeEx (co=0x7ffff7f03bf0, globals=0x7ffff7f84958, locals=0x7ffff7f84958, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at ../Python/ceval.c:3265
#30 0x000000000051efe6 in PyEval_EvalCode (co=0x7ffff7f03bf0, globals=0x7ffff7f84958, locals=0x7ffff7f84958) at ../Python/ceval.c:667
#31 0x000000000052e156 in exec_statement (f=0xac7510, prog=0x7ffff7f03bf0, globals=0x7ffff7f84958, locals=0x7ffff7f84958) at ../Python/ceval.c:4730
#32 0x0000000000522fb8 in PyEval_EvalFrameEx (f=0xac7510, throwflag=0) at ../Python/ceval.c:1881

Debian 8 provides PySide 1.2.2

The test with PySide==1.2.2 resulting in the same segfault.

I found a fix for it.

repo: silx-kit/silx


text:
Fix custom levels colormap dialog

This PR fixes 2 issues on the ColormapDialog which was forbid the user to custom the levels of the colormap when the image was often refreshed.
It was still possible to custom the values during the time of a single frame.
This PR:

Make sure the result of the histogram range edition is used (it was not the case)
Make sure the handle moved bu the user are to reset during the interaction

Closes #3148

If i could vote, I would be happy to backport this issue in a bug fix release.

I was thinking so too.
Maybe we wait a little bit to see if more bugs like this one are showing up.

I think we can wait until mid/end of august without problem.

This fixes the issue while dragging the markers, but no when trying to set the min or max in the LineEdit.
The latter remains impossible.
I don't get why the displayed min/max are updated when changing the dataset while the colormap is not in autoscale.

You are right. I did not try. I will take a look.
The widget have to know the available theoretical values, in order to abort wrong values for example. But it should just be filter on it's own.

Here is a fix.
The first commit is only a clean up. There was a lot of dead code.
The second filter the setValue update to do it only if it is needed.

Now it works fine when setting the bounds from the LineEdit.
It is still a bit weird when changing the bounds with the markers on the histogram since the values in the LineEdit are reset to their previous value at each update of the image.
CI seems to be unhappy.

Ill take a look. If there is too much things to change i don't think it is a good idea for a big fix release. In this case it is better to stay with a small glitch.

The tests was not use the API the right way.
And there was a filter inhibiting the change of the colormap when dragging. Now it's much better. The image color is updated during the interaction, which was not the case before.

While i was there i have removed an unused function.
It's fine to be reviewed.

Which is btw the smartest if i never saw.

LGTM, works smoothly, thanks!


text:
UTF-8

When I ofuscated a spigot plugin, the utf-8 got bugged

Fixed


text:
Instantiating with a given graph instance

Currently, as I understand, react-sigma-v2 always initializes itself its own graphology instance.
In some of my applications, I tend to separate my views tree from my data logic, and I like to load my data and to initialize the graphology instance myself. Also, I've had other cases with a graphology instance that always exists (for graph algorithms, for instance), but that is not always displayed using sigma. Finally, as I write right now a classic app rendering GEXF graphs on web pages, it feels really weird to have to instantiate the SigmaContainer React component before having an actual graph to give. I always start by managing my data, and then, I deal with rendering.
For those cases, it would really help to allow giving react-sigma-v2 a graphology instance.

With v2, it's possible, you can take a look at the live example : https://sim51.github.io/react-sigma/docs/example


text:
dCloud is crashing when btfs binary is running

dCloud app (GUI & terminal) is crashing after several hours of continuous operation
Step to reproduce:

Start the app
Start btfs using btfs daemon
Wait for several hours

Expected results:
dCloud GUI and terminal service keep working
Actual results:
dCloud and terminal service suddenly stop working without any error popup.
*Note: LogCat pending to be uploaded

no longer reproducible on current UI, we are not using termux terminal now

repo: simbadMarino/dCloud


text:
V3.x migration

Papersaurus migrated to work on Docusaurus v3.5.1.

.gitignore modified to dont track .idea
Dependencies updated.
swap obsolete DocMetadata.unversionedId for current DocMetadata.ID
loadConfig removed.
siteCofing obtained in an ES6 compatible way

@simologos any news for the v3.x migration?

Also waiting on support for Docusaurus 3.6.0.

repo: simologos/docusaurus-plugin-papersaurus


text:
Added function which return list of registered devices

Hi!
I have a problem, which I could not get a list of registered devices from my credential.
I have only one way to get devices ids:
api = Mobileclient()
api.oauth_login('invalid id')

# raise InvalidDeviceId('Invalid device_id %s.' % device_id, device_ids)
# gmusicapi.exceptions.InvalidDeviceId: Invalid device_id nvalid id.Your valid device IDs are:
# * ios:2BB5953E...
# * 38226...
# * 8C85...

With follow changes you can get ids:
api = Mobileclient()
device_ids = api.get_device_ids()
print(device_ids)
# ['ios:2BB5953E...', '38226...', '8C85...']

I could have sworn I addressed this. I looked and it turns out it just never got documented: https://github.com/simon-weber/gmusicapi/pull/539#discussion_r103082266.
So, you can do something like this instead:
from gmusicapi import Mobileclient
from gmusicapi.exceptions import InvalidDeviceId

mc = Mobileclient()

try:
    mc.oauth_login('')
except InvalidDeviceId as e:
    print(e.valid_device_ids)

I'll look into improving the docs.

repo: simon-weber/gmusicapi


text:
Add test suite

This PR:

[x] Adds a basic integration test suite to prevent regressions.
[x] Sets up GitHub Actions to run the tests automatically on every PR and push to the main branch.
[x] Adds unit tests for relevant classes.

Closes #3.

Let me know if you want (me) to add more unit tests @simonhamp! Most of the unit-testable code would just be testing setters/getters, and that feels pretty wasteful 😅

@svenluijten it looks like the GitHub Actions are struggling to write the image files produced by the tests. Could be due to permissions?
https://github.com/simonhamp/the-og/actions/runs/7435530543/job/20230963612

authors: simonhamp svenluijten

repo: simonhamp/the-og


text:
Is there a way to generate a self-contained HTML file that has the bundle analysis?

for https://limber.glimdown.com, I deploy bundle analysis to bundle.html (currently just the webpack stuff).
For example : https://limber.glimdown.com/bundle.html
(linked to in the header of Limber)
as far as I've been able to tell, this addon only(?) relies on middleware triggered by visiting _analyze?
Is it worth it to include a flag or something that generates a bundle.html for production? or maybe embroider-only builds are too close to becoming a reality? :thinking: I am not sure

Sorry for the late answer... I don't think there is much value for this, as the middleware wraps https://github.com/danvk/source-map-explorer, so instead of remove the wrapping middleware part, you could instead just run that lib (it has a standalone bin). Just make sure that you sourcemaps are good and hi-fi (no webpack eval stuff). You could use or copy-paste from https://github.com/simonihmig/ember-cli-bundle-analyzer/blob/master/create-config.js

thanks!!

authors: NullVoxPopuli simonihmig

repo: simonihmig/ember-cli-bundle-analyzer


text:
Add possibility to set custom mailers for DKIM.

This way, it's possible to use DKIM with mailchimp, mandrill, postmark, ses, etc ...

Thank you for your contribution. Please make sure the code style looks good.

@simonschaufi , is it possible to add "mail" for PHP Mail to that list of arrays? I added the option to my code and it worked.

@simonschaufi Great, thanks! Love your package, saved me a lot of time and effort

@maurice-ellis thank you very much for these nice words! If you feel like to give something back, you can sponsor me with a little tip through Github, PayPal or bymeacoffee. Links are in the readme page.

Could someone merge this? The ability to set custom mailers has still not been implemented. The whole PR is three lines long.

authors: Iaotle maurice-ellis simonschaufi woodspire

repo: simonschaufi/laravel-dkim


text:
Error getting setup

I am really having issues getting this setup. I am using a legacy Tmobile US unit. Below is my confirmation and the error I am getting. Any help would be appreciated.
Config:
device_tracker:

platform: mojio
domain: tmobile-us
client_id: 86d1d812-dc08-4d38-9ff3-ff86908d97e6
client_secret: 0a6b21ec-84df-4088-ba0c-2e05592da42b
username:
password:
scan_interval: 60

Error:
Logger: homeassistant.components.device_tracker
Source: components/device_tracker/legacy.py:345
integration: Device tracker (documentation, issues)
First occurred: 11:35:37 AM (1 occurrences)
Last logged: 11:35:37 AM
Error setting up platform legacy mojio
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/device_tracker/legacy.py", line 345, in async_setup_legacy
setup = await hass.async_add_executor_job(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/mojio/device_tracker.py", line 41, in setup_scanner
if not scanner.login(hass):
^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/mojio/device_tracker.py", line 74, in login
self.setup(hass)
File "/config/custom_components/mojio/device_tracker.py", line 67, in setup
self._refresh()
File "/config/custom_components/mojio/device_tracker.py", line 83, in _refresh
vehicles = self._api.get_vehicles()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/mojio_sdk/api.py", line 40, in get_vehicles
return self._parse_devices(self._get_response("vehicles"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/mojio_sdk/api.py", line 68, in _parse_devices
device = Vehicle(json_vehicle_data)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/mojio_sdk/vehicle.py", line 56, in init
self.status = json_data.get('VehicleStatus').get('Value', 'unknown')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'

Have you defined a plate number in the SyncUp or whatever app you are using? And have you used the devices already so you have information in the app regarding the car, position, etc.?
Regarding the scan interval, my recent experience is that the position data is updated only in every two minute.

Yes, i have the plate set in the SyncUp app & i have many years of data in the app. I adjusted the scan interval to 120. Same results :(

self.status = json_data.get('VehicleStatus').get('Value', 'unknown')

Your error message means that the API has returned VehicleStatus as None and it hasn't got a Value to get. So the API result is different than what the code expects.

I am new to home assistant. Is there a way to get the full results from a log file to see what it is getting?

repo: simontb/mojio-home-assistant


text:
hashed url for _memory

thanks so much for getting this plugin set up, @simonw. everything is now working well now (or better since https://github.com/simonw/datasette/issues/1581 is no longer an issue).
it would be a nice feature addition if the _memory endpoint could also have a hashed-url for crossdb queries. (relates to https://github.com/simonw/datasette/issues/1561).
a way that this could work is that a hash of the db hashes could be calculated and that used as the _memory suffix.

This seems like it could be quite straight forward. That logic would go here:
https://github.com/simonw/datasette-hashed-urls/blob/87e4da21db3b970423daa95ecca24d777498d256/datasette_hashed_urls/__init__.py#L6-L14
It could have a special case for _memory but only if datasette.crossdb is True. It could derive a hash by hashing together the hashes of the other immutable databases.

This will be available in 0.4 once it ships - currently waiting for the GitHub Actions workflow to run: https://github.com/simonw/datasette-hashed-urls/actions/workflows/publish.yml

doesn't look like it was triggered?

authors: fgregg simonw

repo: simonw/datasette-hashed-urls


text:
Hover override should defautl to user defined handler

Currently, the only option that can be overridded was border and auto-focus window.
I use this option below to override hover behavior:
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
  border = "solid",
  max_width = 60,
  max_height = 20,
})

but rust-tools seems to ignore those settings.
I think it's better to default to user-defined handler, or maybe give an option to override the handler

https://github.com/simrat39/rust-tools.nvim/blob/master/lua/rust-tools/config.lua#L22 set this to false in your config, pretty sure that's what you're asking for

Okay, but what if i also wants to have hover actions ? I think hover actions should extend the existing handler instead of overriding it completely.

Thats not possible afaik, but we should probably give the same customization options in the setup

I agree with that. I'll see whether i can came up with a PR next week


text:
Population of China

Hello. I noticed that for some reason you have in the game most of the population of East Turkestan are Chinese (Han). As far as I have found information East Turkestan (Xinjiang), mainly populated by Uighurs. (Of course, I mean Modern Day scenario - 1992.)
https://en.wikipedia.org/wiki/Demographics_of_China#/media/File:Ethnolinguistic_map_of_China_1983.png

In the 1992 start Xinjiangs population is overwhelmingly Uighur

Then Han immigration eventually turns it more Chinese.
Realworld 2010
46% Uighur
39% Han
7% Kazakh
5% Hui
3% Other
and in the mod..

authors: samwoodzadrot simsulla

repo: simsulla/nwomod


text:
promisify and lipstickify

Any reason travis isn't enabled on this module? Refactored the test that should run on travis I guess.

Any reason travis isn't enabled on this module?

Probably, but don't remember. Let's try.

👌

It seems we have to tweak the test a little. Any idea how we can determine the open command path?

Already fixed

Wow, very clean! :heart:

authors: SamVerschueren sindresorhus

repo: sindresorhus/open-shortcut


text:
Docker container

Do you consider packaging pageres(-cli) in a working docker container? It would be a lot easier for me to add it to our workflow :).

You could easily do this yourself and publish the container to Docker Hub. We are not considering doing this.

I took the time to do this: https://hub.docker.com/r/jojomi/pageres/
Example usage
docker run --rm --mount type=bind,source="$(pwd)/data",destination=/data jojomi/pageres-cli pageres [ wikipedia.org 800x600 1024x768 1600x900 1920x1080 ]

authors: SamVerschueren jojomi

repo: sindresorhus/pageres


text:
settings: link to issues are broken

where:

open settings
hoover over issue link

what i see:

a link chrome-extension://hlepfoohegkhhmjieoechaddaejaokhf/options.html///issues/2041

what i expected:

a link to https://github.com/sindresorhus/refined-github/issues/2041

screenshot:
see link in left bottom statusline:

I think this line:
https://github.com/sindresorhus/refined-github/blob/4c3f647008fc17c8953512b70100810d7d1ce7eb/source/libs/dom-formatters.ts#L21
Has to be changed to
		baseUrl: location.protocol.startsWith('http') ? '' : 'https://github.com/sindresorhus/refined-github/',

But needs testing

Looked into this a bit and sadly there are two problems to @fregante's solution.
The currentRepo.ownerName is options.html so it will be converted to .../refined-github//options.html///issues/....
We could try to fix the parsing or handle this case but then it would still generate an url with empty path parts .../refined-github//////issues/....
This still resolves correctly, but just doesn't look nice imo.
My suggestion would be to allow overwriting the options of linkifyIssues.
// options.tsx
domFormatters.linkifyIssues(descriptionElement, {
	baseUrl: 'https://github.com',
	user: 'sindresorhus',
	repository: 'refined-github'
});

authors: dertieran fregante muescha

repo: sindresorhus/refined-github


text:
Unfurl of diff code not working

I think unfurl url is broken. this is sad because its my favorite feature
https://github.com/sindresorhus/refined-github/issues/2151
seems broken on any url. here's a sample https://github.com/grosser/parallel_tests/pull/755/files
In the gif i was ctrl+clicking and alt+clicking with latest refined github extension, but no dice

Only things in js console were these
DevTools failed to load SourceMap: Could not load content for chrome-extension://hlepfoohegkhhmjieoechaddaejaokhf/build/refined-github.js.map: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME

[Violation] Forced reflow while executing JavaScript took 58ms

810:1 [Deprecation] ::-webkit-details-marker pseudo element selector is deprecated. Please use ::marker instead. See https://chromestatus.com/feature/6730096436051968 for more details.

refined-github.js:1884 ℹ Refined GitHub → update-pr-from-base-branch → Personal token required for this feature

refined-github.js:1884 ℹ Refined GitHub → show-names → Personal token required for this feature

refined-github.js:1884 ℹ Refined GitHub → repo-wide-file-finder → Personal token required for this feature

GitHub added the expand all button


text:
Change default issues/PRs sort to "Recently updated"

The Newest sort option in the issue tracker is rarely useful and not at all what I expect as the default sort. I want to see where the activity is. That's likely what needs my attention most. An update to an old issue and the addition of a new issue should have the same weight. Otherwise, old issues with recent activity stay buried.
I propose modifying the URL of the main Issues tab so the issues are sorted by Recently updated (in descending order) instead of Newest. That can be accomplished by adding the following query string:
?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc

:+1: I always sort it by Recently updated.
@paulmolluzzo @hkdobrev What do you think?

I think it's useful for some cases, but not useful for others.
Of course it is useful when you to respond to latest activity, but not useful when there's a high-activity open-source repository and you want to try to close new issues and PRs fast and look at some long-running issues/PRs just from time-to-time. Image issues with a lot of +1 comments or PRs with a lot of code review comments from others.
Whether Recently updated should be the default depends on what you do most often. For me personally most of the time I'd prefer the default sorting of Newest. Especially for work repositories, even the activity is from a few people, I'd prefer to look at the exact same order every time similar to a Trello board which we are also using. We have Slack and GitHub notifications for every comment.
I'm not sure if this is a commonly shared logic and I'm not even sure having Recently updated by default would not be useful to me and I just don't realise it yet.
What do you think of having a button which toggles between the two instead of having to click the drop down to the right?

No strong opinion from me, except that I might get confused by changing the default (I don't know for sure).
I don't usually sort issues, tbh. When I'm triaging maybe?

Adding a toggle button like @hkdobrev suggested would be my second choice.
In fact, it's the cognitive strain caused by the Sort drop down that initially motivated this request. I was finding that I'd navigate to a GitHub repository, click Issues, not immediately see the issue I wanted, click Sort and then... ... ... (blink) ... ... try to read the words and figure out which one applied to my case. The one I really need (Recently updated) sits second to the bottom, below options related to comments which sort of look the same.
That makes me think that the underlying issue here is that the Sort drop down causes cognitive strain. Too many options without enough differentiation.

I'll provide a use case that explains why Recently updated comes up the most often.
I pick an issue to work on (perhaps because it came in via e-mail), do some coding, send a PR that references it (or perhaps someone else does). That's the issue on my mind (and others I worked on that day). I go to the Issues tab to follow-up on the issues, perhaps to add some additional notes or get information from an ongoing discussion. Where are those issues? No where to be found. Instead, what I see is new issues that came in since that have nothing to do with the activity going on in the project.
The projects that this most affects are projects with lots of activity, because new issues are always coming in and occupying the top slots in the Newest sort.

Despite the obvious stand against options in this extension (which is quite right), this is the feature I feel is most suitable for an option. Of course in best case scenario that would be an option provided by GitHub itself similar to default diff view - split vs unified. When you choose a sort view, this could be persisted until you change it.
So I have 2 suggestions without adding options to the extension:

Add just a toggle button for newest/updated issues.
Implement persisted sort across repos which always uses the sort option you've selected last.

Persisted sort definitely sounds intriguing.

Just wanted to say I've tried this a couple of weeks ago and it isn't easy. Initially I thought I could fiddle directly with the URL - nope, GitHub changes the URLs in a few ways and also there are multiple URLs with the same search (e.g. /search/label/bug is the same as /search?q=label.... and others). Then I've started playing with clicking the sort drop down and around that time I lost interest. With persisting the sorting you need to consider pages where both issues and PRs are listed and pages where there is a sorting, but with different sort options and the chrome storage is asynchronous and the sorting would change after a while and sometimes is slow and so on and so on. I don't say it's impossible to is, it is, but it's not easy. And it's really easy to do from the back-end just like how GitHub persists diff style - unified vs split.
That said I just wanted to warn people who think about taking this, I'll be willing to assist when possible.
However I think it'd be more useful to contact the GitHub team about it and say "please" :smile:

Definitively something I'm also looking for.

I would also be interested. While it's not implemented, if anybody knows a workaround (some browser extension that can tweak html, for example), please share here. My desired behavior would be to change the tabs saying "Issues" and "Pull Requests" to a different URL (to specify my sorting preference). Thanks.

yes, recently updated is the way to go

Google Code allowed to change the default via the settings tab. I think the best option is to maintain backward compatibility by keeping the current sort, but give administrator the ability to change it via the settings tab.

I would also like "recently updated" as my default issue ordering. An option would be the way to go.

Especially for milestones, this would be awesome. Milestones are currently sorted on "recently updated", while "closest due date" is more useful in my opinion.

What's the decision on this?
I went ahead and implemented it as a simple change: default the tab to Recently Updated.

Implement persisted sort across repos which always uses the sort option you've selected last.

I'd hate to find the issues in whatever weird order I checked the previous time. It should always be the same

there are multiple URLs with the same search

The problem with touching the (issues/PRs) search is that you're gonna have to intercept XHR calls and/or visually change the search field under the user's eyes.

Add just a toggle button for newest/updated issues.

One click vs two clicks. Perhaps it isn't enough of a time saver at that point.

@sindresorhus Open to make it an option?

@bfred-it Can't we just make it the default?

Ask @hkdobrev and @jgierer12: https://github.com/sindresorhus/refined-github/pull/454#issuecomment-305630032

I would be in favor if the search field were to remember the search options/filter. Or, alternatively, there could be a user-defined default search filter. That would solve the sort-problem en passant.

Please simply add a user defined option in settings for sort order. That's it.

I went ahead and implemented it as a simple change: default the tab to Recently Updated in #454

Is that already in the released version?

No

Looking forward to it, that will be super useful!

Another vote here for using "Recently Updated" as the default sorting order.

Sorry peeps, this is now coming like a wrecking ball (except you can now disable it in the options 😉)

Is that feature already deployed?

Yes

And it's a game changer!

I just installed this extension recently and can't say how annoyed I am with this feature. Is there a way to turn it off?

@bsarrazin Yes, by opening the extension settings and pasting sort-issues-by-update-time into the "Features to disable" textbox

@jgierer12 thank you sir! 🌮

Currently, one has to go to the settings of the extension and search for sort-issues-by-update-time. It is just a checkbox - not a generic free text field anymore:

As of today, it is sort-conversations-by-update-time:

Thank you @koppor
I was inconvenient to sort all of PRs by update time by default.
btw, how do I find how use some of features.
I think refined github provides good solutions but I could have not found.

It's quite annoying how GH puts milestones without a due date first. Most of the times milestone version numbers are alphabetical. Could we just get an option to set what we want the default sort to be?

authors: BlaineBradbury KSH-code bfred-it bsarrazin csb0730 giampaolo hkdobrev jgierer12 koppor milholen mojavelinux monperrus nikohansen paulmolluzzo pgorod r10s rshea0 sindresorhus smeijer


text:
3rd tests fails

after 3.0.1 merge, one missing / slash at the end

Can't reproduce.

in just a moment i ran them and 3rd fails and only. npm.im/helpers-related fails, also npm.im/npm-replated which is based on this

> registry-url@3.0.1 test /home/charlike/dev/registry-url
> mocha

  ✓ should get the npm registry URL globally (40ms)
  ✓ should get the npm registry URL locally
  ✓ should return local scope registry URL
  1) should return default npm registry when scope registry not set

  3 passing (107ms)
  1 failing

  1)  should return default npm registry when scope registry not set:
     Uncaught AssertionError: false == true
      at /home/charlike/dev/registry-url/test.js:37:3
      at /home/charlike/dev/registry-url/node_modules/mocha/node_modules/glob/node_modules/graceful-fs/graceful-fs.js:104:5
      at FSReqWrap.oncomplete (fs.js:77:15)

yep, because few days I changed the registry and then back it to original. It seems that I set it without last slash https://registry.npmjs.org. So normalization is required in this lib.
@sindresorhus @kevva

authors: kevva tunnckoCore

repo: sindresorhus/registry-url


text:
LESS option 'spawn

I'm trying to

You can delete this. My finger slipped.

repo: sindresorhus/time-grunt


text:
[r] Refactoring of files in src/

Issue and/or context:
The src/ is a little cluttered with two small files easily subsumed in the larger 'utitlies' catch-all source.
Changes:
Two files are subsumed.  No code changes.
Notes for Reviewer:
SC 30133

Thanks!  A small and concise and clear compilation step helps in development, and may help users installing from sources.  Less clutter, less chance to miss something.  To me, it is an improvement which is why I posted the PR.  So thanks for the thumbs-up!
edd@rob:~/git/tiledb-soma/apis/r(main)$ ./cleanup && R CMD INSTALL .
* installing to library ‘/usr/local/lib/R/site-library’
* installing *source* package ‘tiledbsoma’ ...
** using staged installation
** updated src/Makevars for system library via pkg-config
** libs
using C compiler: ‘gcc-12 (Ubuntu 12.2.0-3ubuntu1) 12.2.0’
using C++ compiler: ‘g++-12 (Ubuntu 12.2.0-3ubuntu1) 12.2.0’
using C++17
ccache g++-12  -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I. -I../inst/include/ -I/usr/local/include   -I'/usr/local/lib/R/site-library/Rcpp/include' -I'/usr/local/lib/R/site-library/RcppSpdlog/include'     -fpic  -g -O3 -Wall -pipe -pedantic   -c RcppExports.cpp -o RcppExports.o
ccache gcc-12 -I"/usr/share/R/include" -DNDEBUG -I. -I../inst/include/ -I/usr/local/include   -I'/usr/local/lib/R/site-library/Rcpp/include' -I'/usr/local/lib/R/site-library/RcppSpdlog/include'     -fpic  -g -O3 -Wall -pipe             -c nanoarrow.c -o nanoarrow.o
ccache g++-12  -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I. -I../inst/include/ -I/usr/local/include   -I'/usr/local/lib/R/site-library/Rcpp/include' -I'/usr/local/lib/R/site-library/RcppSpdlog/include'     -fpic  -g -O3 -Wall -pipe -pedantic   -c rinterface.cpp -o rinterface.o
ccache g++-12  -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I. -I../inst/include/ -I/usr/local/include   -I'/usr/local/lib/R/site-library/Rcpp/include' -I'/usr/local/lib/R/site-library/RcppSpdlog/include'     -fpic  -g -O3 -Wall -pipe -pedantic   -c riterator.cpp -o riterator.o
ccache g++-12  -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I. -I../inst/include/ -I/usr/local/include   -I'/usr/local/lib/R/site-library/Rcpp/include' -I'/usr/local/lib/R/site-library/RcppSpdlog/include'     -fpic  -g -O3 -Wall -pipe -pedantic   -c rutilities.cpp -o rutilities.o
ccache g++-12 -std=gnu++17 -Wl,-S -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -flto=auto -Wl,-z,relro -o tiledbsoma.so RcppExports.o nanoarrow.o rinterface.o riterator.o rutilities.o -L/usr/local/lib -ltiledb -ltiledbsoma -L/usr/lib/R/lib -lR
installing to /usr/local/lib/R/site-library/00LOCK-r/00new/tiledbsoma/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (tiledbsoma)
edd@rob:~/git/tiledb-soma/apis/r(main)$

repo: single-cell-data/TileDB-SOMA


text:
Support indexing by [] -> empty results in Python

Following on #622.
Issue: #484

Codecov Report
Base: 63.91% // Head: 74.74% // Increases project coverage by +10.83% :tada:

Coverage data is based on head (98ea6da) compared to base (7bb554e).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #623       +/-   ##
===========================================
+ Coverage   63.91%   74.74%   +10.83%
===========================================
  Files          61       26       -35
  Lines        3231     1853     -1378
===========================================
- Hits         2065     1385      -680
+ Misses       1166      468      -698

Flag
Coverage Δ

python
74.74% <100.00%> (-0.03%)
:arrow_down:

r
?

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

Impacted Files
Coverage Δ

apis/python/src/tiledbsoma/dataframe.py
99.33% <100.00%> (-0.01%)
:arrow_down:

inst/tiledb/include/tiledb/type.h

src/include/span/span.hpp

R/SOMADataFrame.R

inst/tiledb/include/tiledb/attribute.h

R/TileDBObject.R

inst/tiledb/include/tiledb/deleter.h

src/include/tiledbsoma/common.h

inst/tiledb/include/tiledb/array_schema.h

inst/tiledb/include/tiledb/schema_base.h

... and 26 more

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

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

authors: codecov-commenter johnkerl


text:
Remove __eq__ method from base TileDBObject class.

Because SOMA objects have a lot of complex state, saying that they have the same URI isn't really enough for equality, and the existence of the __eq__ method is more likely to cause confusion if the user has two separate handles open on the same backing object.

Nothing in our tests does, and if there is external code (a) it is easy to fix and (b) it might not have been doing what it was intended to…


text:
项目引用了mysql:mysql-connector-java@5.1.37等43个开源组件，存在5个严重漏洞，建议升级

大佬，看你这个项目调用了mysql:mysql-connector-java@5.1.37等43个开源组件，存在5个安全漏洞，建议你升级下。
漏洞标题：Oracle MySQL Connectors组件访问控制错误漏洞
漏洞编号：CVE-2018-3258
漏洞描述：
Oracle MySQL是美国甲骨文（Oracle）公司的一套开源的关系数据库管理系统。该数据库系统具有性能高、成本低、可靠性好等特点。MySQL Connectors是其中的一个连接使用MySQL的应用程序的驱动程序。
Oracle MySQL中的MySQL Connectors组件8.0.12及之前版本的Connector/J子组件存在安全漏洞。攻击者可利用该漏洞控制组件，影响数据的保密性、完整性和可用性。
国家漏洞库信息：https://www.cnvd.org.cn/flaw/show/CNVD-2019-39877
漏洞级别：高危
影响范围：[0, 8.0.13)
最小修复版本：8.0.13
引入路径：
com.cloudtravel:cloudtravel-parent:0.0.1-SNAPSHOT:->com.cloudtravel.consumer:cloudtravel-consumer@0.0.1-SNAPSHOT->mysql:mysql-connector-java@5.1.37

另外4个严重漏洞 ，信息有点多我就不贴了，你自己看下完整报告：https://www.mfsec.cn/jr?p=i76d02

@singleStudent 大佬，你这个项目还在维护吗？有空辛苦处理下这个问题哈，有什么问题可以随时联系我。

@Abbylii 升级过了

authors: Abbylii singleStudent

repo: singleStudent/cloudtravel


text:
added functionality to store username in persistent storage

Description
used shared_prefrences for storage in retrieving username from local storage.
Tests
I added the following tests:

added unit test in Storage_service_test.dart
added unit test in Store_test.dart

Related Issues
Fixes  #8

I liked that you added tests. I've updated the points to 75 from 25.

Hey @sanket143!
I have updated the test files now it should pass all the tests :)

give @GajjarMiten 75 points

repo: sinix-dev/sinix-android


text:
IT gate discount not reflected in tech browser

It still gives the full 25% discount in the ship designer, but it shows the full cost in dialogs and tech browser descriptions.
(This is visual only bug fyi)

Looking into it getPlayerCost is outdated and needs to be updated.
https://github.com/sirgwain/craig-stars/blob/12ce8f9fcdb35e249b134182276852ca0ff73f7f/frontend/src/lib/types/Player.ts#L363

repo: sirgwain/craig-stars


text:
RefreshToken from AuthRetriever not working

I generated both an access and a refresh token via the AuthRetriever, the access token is working while the refresh token is not using the RedditClient. I immediately receive 401 Unauthorized.

Can you be more specific?  What error are you getting?
On Tue, Feb 1, 2022, 2:04 PM Kenneth De Clercq @.***>
wrote:

I generated both an access and a refresh token via the AuthRetriever, the
access token is working while the refresh token is not using the
RedditClient.
—
Reply to this email directly, view it on GitHub
https://github.com/sirkris/Reddit.NET/issues/145, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFTJZMJGPFJNGJNN552OJTUZBKGXANCNFSM5NKMIM7A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Closed due to lack of feedback and inability to reproduce reported issue.  Please feel free to reopen this if the issue persists.

authors: Echarnus sirkris


text:
Documentation missing

Hey, have you considered leaving information on the different classes and their respective methods? I've had 20 minutes just to find out how to display the text of a post, just because listing didn't sound like the thing i searched for.
Additionally, I can't find a way to fetch a post using it's permalink, is there a way to do this?

Hi Joschi,
There are a number of code examples in the README, but you are right that there is no comprehensive documentation yet.  I hope to have that remedied soon.
In the meantime, everything is documented in the Intellisense, so that might help.
As for looking up a post by permalink, you can do so by extracting the post id from the permalink string, prefacing it with "t3_" to convert it to a fullname, then passing that.
For example, let's say we have this permalink:
https://www.reddit.com/r/StillSandersForPres/comments/c8uu1x/want_to_see_bernie_at_the_top_of_the_polls_you/
The part we're looking for is "c8uu1x", the post id.  You can grab it with regex or whatever; it's always in the same place.  The rest of the permalink can be discarded.
Now we convert the post id to a post fullname by prefacing it with "t3_".  The resulting fullname string is "t3_c8uu1x".
Finally, we grab the post:
using Reddit;
using Reddit.Controllers;

...

Post post = reddit.Post(reddit.Models, "t3_c8uu1x").About();

This example is a self post, so you can access the post body like this:
SelfPost selfPost = reddit.SelfPost(reddit.Models, "t3_c8uu1x").About();

Console.WriteLine("Body: "
    + selfPost.SelfText);

Thank you very much for the explanation! I will try it later. And maybe you could add the code you juust showed me to the examples?
Well, I've gotten the library through nuget, and I don't really see what you mean with documented in intellisense.. The different classes haven't got any description for me, Visual Studio only opens the metadata and there are no comments there that would be displayed.
That would already tremendously help of course. Is there a way to display those?
The library itself is great though, made it a lot easier to use the api, so thank you for developing that!

@sirkris Funnily enough, the nuget package doesn't have the overloaded method Post(Something, String)... Even though i can clearly see that the sourcecode does indeed have it. Weird, I guess i'll just compile the thing myself and won't use the nuget package. The comments should be visible also. Maybe look into this?

It looks like the reason the Intellisense isn't showing up is because of something that the NuGet .nuspec file apparently requires that I didn't include.  I guess that would explain why so many people have been having difficulty finding their way around the library.
I should have this fixed in 1.3, as well.

@sirkris Perfect! Thank you.
By the way, is there a way to download the subreddit icons? Or the upvote icons?

Went ahead and added the new examples to the README:
Use a Permalink to Retrieve a Reddit Post
Retrieve a LinkPost URL or SelfPost Body From a Reddit Post

Upvote icons are defined in the subreddit stylesheet, which can be accessed like this:
string stylesheet = reddit.Subreddit("marijuana").Stylesheet();

Unfortunately, the endpoint that uses requires the modconfig scope, which means the above call will fail unless you're a moderator of the subreddit in question.  As far as I know, it is not possible to retrieve the stylesheet via the API if you're not a moderator.
Accessing the subreddit icon is a lot easier:
reddit.Subreddit("marijuana").CommunityIcon

Allright, thank you very much! I managed it by just using a html client and getting the node with the right classes, downloading the source, will change that though because that way is faster :) Thank you!

I've added full reference documentation using Doxygen and merged it into 1.3.  Intellisense should now also work with NuGet installs.  Please feel free to re-open this ticket if you encounter any problems with either.


text:
java.lang.ExceptionInInitializerError -> Is this support for Android ?

I do not find an information about Android, do it support ?
When I use pegdown on android, it got a exception :
 private static final PegDownProcessor md = new PegDownProcessor();

 FATAL EXCEPTION: main
Process: org.cnodejs.android.md, PID: 502
java.lang.ExceptionInInitializerError
    at org.cnodejs.android.md.display.activity.MainActivity.updateMessageCountViews(MainActivity.java:486)
    at org.cnodejs.android.md.presenter.implement.MainPresenter$4.onResultOk(MainPresenter.java:119)
    at org.cnodejs.android.md.presenter.implement.MainPresenter$4.onResultOk(MainPresenter.java:114)
    at org.cnodejs.android.md.model.api.CallbackAdapter.onResponse(CallbackAdapter.java:15)
    at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:68)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5343)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
 Caused by: java.lang.RuntimeException: Error creating extended parser class: Class not found
    at org.parboiled.Parboiled.createParser(Parboiled.java:58)
    at org.pegdown.PegDownProcessor.<init>(PegDownProcessor.java:94)
    at org.pegdown.PegDownProcessor.<init>(PegDownProcessor.java:73)
    at org.pegdown.PegDownProcessor.<init>(PegDownProcessor.java:54)
    at org.pegdown.PegDownProcessor.<init>(PegDownProcessor.java:47)
    at org.cnodejs.android.md.util.FormatUtils.<clinit>(FormatUtils.java:125)
    at org.cnodejs.android.md.display.activity.MainActivity.updateMessageCountViews(MainActivity.java:486)
    at org.cnodejs.android.md.presenter.implement.MainPresenter$4.onResultOk(MainPresenter.java:119)
    at org.cnodejs.android.md.presenter.implement.MainPresenter$4.onResultOk(MainPresenter.java:114)
    at org.cnodejs.android.md.model.api.CallbackAdapter.onResponse(CallbackAdapter.java:15)
    at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:68)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5343)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
 Caused by: java.io.IOException: Class not found
    at org.objectweb.asm.ClassReader.a(Unknown Source)
    at org.objectweb.asm.ClassReader.<init>(Unknown Source)
    at org.parboiled.transform.AsmUtils.createClassReader(AsmUtils.java:56)
    at org.parboiled.transform.ClassNodeInitializer.process(ClassNodeInitializer.java:62)
    at org.parboiled.transform.ParserTransformer.extendParserClass(ParserTransformer.java:44)
    at org.parboiled.transform.ParserTransformer.transformParser(ParserTransformer.java:38)
    at org.parboiled.Parboiled.createParser(Parboiled.java:54)
    at org.pegdown.PegDownProcessor.<init>(PegDownProcessor.java:94)
    at org.pegdown.PegDownProcessor.<init>(PegDownProcessor.java:73)
    at org.pegdown.PegDownProcessor.<init>(PegDownProcessor.java:54)
    at org.pegdown.PegDownProcessor.<init>(PegDownProcessor.java:47)
    at org.cnodejs.android.md.util.FormatUtils.<clinit>(FormatUtils.java:125)
    at org.cnodejs.android.md.display.activity.MainActivity.updateMessageCountViews(MainActivity.java:486)
    at org.cnodejs.android.md.presenter.implement.MainPresenter$4.onResultOk(MainPresenter.java:119)
    at org.cnodejs.android.md.presenter.implement.MainPresenter$4.onResultOk(MainPresenter.java:114)
    at org.cnodejs.android.md.model.api.CallbackAdapter.onResponse(CallbackAdapter.java:15)
    at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:68)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5343)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)

It seem that the problem is org.objectweb.asm

I had the same problem:
    final PegDownProcessor processor = new PegDownProcessor();
AndroidRuntime: FATAL EXCEPTION:
...
java.lang.RuntimeException: Error creating extended parser class: Class not found
      at org.parboiled.Parboiled.createParser(Parboiled.java:58)
      at org.pegdown.PegDownProcessor.<init>(PegDownProcessor.java:94)
      at org.pegdown.PegDownProcessor.<init>(PegDownProcessor.java:73)
      at org.pegdown.PegDownProcessor.<init>(PegDownProcessor.java:54)
      at org.pegdown.PegDownProcessor.<init>(PegDownProcessor.java:47)
      at ...
   Caused by: java.io.IOException: Class not found
      at org.objectweb.asm.ClassReader.a(Unknown Source)
      at org.objectweb.asm.ClassReader.<init>(Unknown Source)
      at org.parboiled.transform.AsmUtils.createClassReader(AsmUtils.java:56)
      at org.parboiled.transform.ClassNodeInitializer.process(ClassNodeInitializer.java:62)
      at org.parboiled.transform.ParserTransformer.extendParserClass(ParserTransformer.java:44)
      at org.parboiled.transform.ParserTransformer.transformParser(ParserTransformer.java:38)
      at org.parboiled.Parboiled.createParser(Parboiled.java:54)
      at org.pegdown.PegDownProcessor.<init>(PegDownProcessor.java:94)
      at org.pegdown.PegDownProcessor.<init>(PegDownProcessor.java:73)
      at org.pegdown.PegDownProcessor.<init>(PegDownProcessor.java:54)
      at org.pegdown.PegDownProcessor.<init>(PegDownProcessor.java:47)
      at...

I too have the same problem

same to me  thanks~~

Seems that ASM can't transform classes on Android because they have different format.
PegDownProcessor has another constructor that accepts Parser, we should try creating parser ourselves without ASM. I've tried reproducing conditions achieved by using ASM:
            val parser =
                    Parser(
                            Extensions.NONE,
                            PegDownProcessor.DEFAULT_MAX_PARSING_TIME,
                            Parser.DefaultParseRunnerProvider,
                            PegDownPlugins.NONE)
            val matcher = SequenceMatcher(Array<Rule?>(0, { null /* original code has an instance of generated class here */ }))
            parser.context = MatcherContext(
                    DefaultInputBuffer(chars),
                    DefaultValueStack<Any>(),
                    ArrayList<ParseError>(),
                    BasicParseRunner<Any>(matcher),
                    matcher,
                    true)
            return PegDownProcessor(parser)

But now I'm getting org.parboiled.errors.GrammarException: Illegal call to getMatch(), getMatchStartIndex(), getMatchEndIndex() or getMatchRange(), only valid in Sequence rule actions that are not in first position.

To enable Android support someone's going to have to look at adding a configuration to use ASMDEX instead of ASM: http://asm.ow2.org/doc/tutorial-asmdex.html

If you need android support it is probably easier to switch to another parser rather than trying to wrestle with pegdown.
commonmark-java is an excellent choice if you don't need source element based AST (it generates output based AST), don't need a lot of extensions and can work with CommonMark markdown format https://github.com/atlassian/commonmark-java, Java 1.7 and android compatible.
I rewrote commonmark-java to replace pegdown in my Markdown Navigator plugin for IntelliJ IDEs: https://github.com/vsch/idea-multimarkdown. The parser project is https://github.com/vsch/flexmark-java. It has very detailed source based AST with source offset for every part of the element. I need that for syntax highlighting and other plugin source reliant features.
It is CommonMark 0.27 (GitHub Comments) compliant but has parser configuration options to emulate list indentation rules used by: markdown.pl, MultiMarkdown (like pegdown 4 space indents) and kramdown (GitHub Docs). The only extensions that pegdown has that I did not yet implement are: typographic quotes, smarts and definition lists. The rest of the extensions are available, with some extra ones that pegdown does not have.
As an added bonus and what motivated me to switch the parsing is 30-50x faster than pegdown on average documents and several thousand times faster on pegdown's pathological input like [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[.
Right now it is Java language level 1.8 because I used lambda syntax but if you are interested in having it support android I can refactor all the 1.8 constructs to downgrade it to 1.7 for android compatibility or just convert it to Kotlin then can have even better syntax and Java 1.6 compatibility.

authors: LeadroyaL Miha-x64 SreenuAndroid TakWolf fiskurgit vsch yhonet

repo: sirthias/pegdown


text:
"docker-compose down" always times out

When I run docker-compose down, the SIGTERM sent to the container appears to be ignored. Instead, I have to wait 10 seconds (the default timeout) until a SIGKILL is sent to forcefully shut it down.
It's frustrating when I stop (or restart) a number of services and see that linkding is the only one that doesn't shut down right away. Can this be fixed?

It can definitely be fixed if someone can figure out what's preventing the container from shutting down. Feel free to investigate.

@sissbruecker @kriswilk I opened a small PR to address this #368

authors: kriswilk mckennajones sissbruecker

repo: sissbruecker/linkding


text:
Fix: UI cleanup of the covid tracker activity to make the state selection spanner visible

UI cleanup of the covid tracker activity to make the state selection spanner visible  referencing issue #7

Great work


text:
how to custom same Tag in jsp's page

i have defined in decorator
<sitemesh:write property="JavaScripts"/>
and i have defined a  page ,as follows
<JavaScripts>
    a......
</JavaScripts>

<JavaScripts>
    b......
</JavaScripts>

the result is
a....
but now, i need result is
    a......    and     b......
Is there any way to fix my problem？

Example:
https://github.com/sitemesh/sitemesh3/issues/99


text:
Subroot quick - Allow the app to be installed below the document root

Here's the quick and dirty version - because it was quicker, of course!
In index.php, we define a global BASE_PATH constant, which is used in the Router route declarations, and in UrlModel to produce uri paths that are always correctly relative to the document root, and in the BusinessModel to make sure file uploads still work.

Hi,
Thank you for your efforts. IMHO, there is no need to define a constant since a route that starts with / is already relative to the root. The same applies for the static files.
What concerns image uploads - the publicPath (probably this should be renamed to imagePublicPath), imageDomain and imageDir allows to store images under different path and domain. For example, I have a site abc.com that resides under /var/www/abc.com and administration site xyz.com under var/www/xyz.com with the publicPath of /var/www/xyz.com/public and imageDir of  img/uploads that corresponds to  /var/www/xyz.com/public/img/uploads.

Let me clarify.
As it stands, the app can be installed with the public/ folder serving as the document root of a website. eg: http://example.com/index.php . This pull request adjusts things so that curdle can be installed in subfolders of the website's document root. eg: http://example.com/admin/index.php or http://example.com/curdle/index.php . This can be done by way of a symlink to the public folder.
The codebase will still work perfectly fine when installed on the document root - this just adds more flexibility to the uri you can access the application with.

@Natorator, sorry could you rephrase the comment. I don't quite understand your point.
AFAIK, there are no problems installing curdle under existing project's document root. Just provide the proper path in your web server's config/hosts.
By the way, the curdle's index is under public/index.php (if it helps you somehow)

Let's say I have other apps on my website. Those are accessible from the document through the web at http://example.com/ . I want to use curdle to edit the database of that application, but I don't want to use the public/ folder as my  document root. so I install curdle in a subdirectory of the website. I want to access curdle at http://example.com/curdle/public/ instead.
As it stands, the code base won't work with that - It insists on having public/ be the configured document root of the webstie.
This patch allows for that, without breaking sites that have them installed in the document root.

@Natorator I got your point, agree. But could you manage to use the fetched value from Config files instead of defining a constant?

@Natorator I got your point, agree. But could you manage to use the fetched value from Config files instead of defining a constant?

Sure.
So it looks like the Abimo Factory is a static singleton. So I guess just instantiating a "new" isntance inside the UrlModel (or wherever it's needed) serves the purpose of global accessibility, and allows us to avoid long dependency injection cascades. Then Factory then provides the config, which provides the base path variable. Does that sound good?

Updated. 'base_uri_path' is now in App.php the function call there should take care of it dynamically, but coders can feel free to override it if they like.

authors: Natorator sitilge

repo: sitilge/curdle


text:
Error 500 when change the user locale and do relogin

This is all, no apache errors.
Oops! An Error Occurred

The server returned a "500 Internal Server Error".

Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.

Weird. It works for me. Which locale did you select?
The logs are in the var/logs folder, can you check there?

I had not installed php intl package.
Thanks!

authors: ParisLiakos facine


text:
Implement roDeviceInfo

https://developer.roku.com/docs/references/brightscript/components/rodeviceinfo.md

Partially implemented in #480

repo: sjbarag/brs


text:
[Feature request] Context Menu

Describe what feature you'd like. Pseudo-code, mockups, or screenshots of similar solutions are encouraged!

Can we have a Context Menu component? It would be quite useful in most progressive web apps.
What type of pull request would this be?
New Feature
Any links to similar examples or other references we should review?
svelte-carbon-component has it at here, but it's hard to customize UI with tailwind.
The implementation shown in the GIF was from RadixUI:
https://www.radix-ui.com/docs/primitives/components/context-menu

That's an interesting one @Yiak, not a feature I see often in other libraries. We'll definitely take that into consideration! The only bummer is I'm assuming it might be desktop only. For mobile I'd wonder if we could do something like a click and hold  or if we just forego it altogether?

Thank you for your consideration! I would say a tap-and-hold (long press) works great on mobile.

JSuites has a framework-agnostic implementation. Their version uses a very different approach on mobile.

JSuites has a framework-agnostic implementation. Their version uses a very different approach on mobile.

I tried to get the JSuites context menu working in Svelte, but it was a pain in the a**. I retract my referral. There is actually a pretty good example in the Svelte REPL Playground that works fine on mobile: https://svelte.dev/repl/3a33725c3adb4f57b46b597f9dade0c1

Thanks for giving it a try Riziles. I always worry about folks recommending stuff they haven't actually used and then running into a bunch of issues!

Just a quick note - the recent update to the Popup utility features makes use of:
https://floating-ui.com/
The documentation for this mentions it includes support for creating content-menus based on mouse clicks. We should evaluate this as our solution for this feature in the near future

FYI, as we begin prepping for the new standalone popup package, we're consolidating all known issues for popups into this new thread:

https://github.com/skeletonlabs/skeleton/issues/1916

Your post will now be closed, but has been referenced in the post linked above. Please note that by doing this, your request is being folded into this larger effort. Please feel free to monitor the linked issue if you wish to track progress on this going forward.

authors: Yiak endigo9740 riziles

repo: skeletonlabs/skeleton


text:
Fix typo: content => contents

Before submitting the PR:

[x] Does your PR reference an issue? If not, please chat to the team on Discord or GitHub before submission.
[ ] Did you update and run tests before submission using npm run test?
[ ] Does your branch follow our naming convention? If not, please amend the branch name using branch -m new-branch-name
[x] Did you update documentation related to your new feature or changes?

What does your PR address?
Fixes #670
Fix typo from display: content to display: contents

Perfect thanks @Bandit


text:
TSkSvg with an SVG with french special caracters

Hello I have an issue with TskSvg when I try to display an SVG that containing french caracters like 'é'.
Is there something that I do not understand or a real bug ?
Thank you in advance.

The problem is because you are saving the file using ANSI instead UTF-8. There are some ways to detect ANSI or UTF-8 but it is not 100% certain. For now, we have added a small improvement to support UTF-16 and UTF-32 as well, and in the future maybe we can provide a better solution to this issue.

My svg file is UTF-8.
When I import the file programmatically, it doesn't work but if works fine when I import it from the SVG editor in the DFM

@NizarUPC In this case, it has no relation to Skia4Delphi library as SVG does not directly load the file. You are the one who has to load the file and feed SkSVG only with the source string. So for your code there are 2 solutions:

Save the file as UTF-8 with BOM;
Upload the file explicitly stating that it is UTF-8:

uses
  System.IOUtils;

procedure TForm1.FormCreate(Sender: TObject);
begin
  SkSVG1.Svg.Source := TFile.ReadAllText('C:\Users\vinic\Desktop\a.svg', TEncoding.UTF8);
end;

The cause of this is that TFile.ReadAllText (as well as other Delphi functions) considers that the text is encoded as ANSI when it does not find any BOM.

Thank you !

authors: NizarUPC viniciusfbb


text:
Installation problem

Hello  I received the following error whilst attempting to install SKIA

Microsoft (R) Build Engine version 4.8.4084.0
[Microsoft .NET Framework, version 4.0.30319.42000]
Copyright (C) Microsoft Corporation. All rights reserved.
Build started 2022/02/17 08:26:29.
Project "C:\Users\BAAK\Documents\Skia4Delphi\Packages\RAD Studio 11.0 Alexandria\Skia.Package.RTL.dproj" on node 1 (default targets).
C:\Users\BAAK\AppData\Roaming\Embarcadero\BDS\22.0\environment.proj(44,9): error MSB5016: The name "settingsS400400C00941.ifsp" contains an invalid character ".". [C:\Users\BAAK\Documents\Skia4Delphi\Packages\RAD Studio 11.0 Alexandria\Skia.Package.RTL.dproj]
Done Building Project "C:\Users\BAAK\Documents\Skia4Delphi\Packages\RAD Studio 11.0 Alexandria\Skia.Package.RTL.dproj" (default targets) -- FAILED.
Build FAILED.
"C:\Users\BAAK\Documents\Skia4Delphi\Packages\RAD Studio 11.0 Alexandria\Skia.Package.RTL.dproj" (default target) (1) ->
C:\Users\BAAK\AppData\Roaming\Embarcadero\BDS\22.0\environment.proj(44,9): error MSB5016: The name "settingsS400400C00941.ifsp" contains an invalid character ".". [C:\Users\BAAK\Documents\Skia4Delphi\Packages\RAD Studio 11.0 Alexandria\Skia.Package.RTL.dproj]
0 Warning(s)
1 Error(s)

Time Elapsed 00:00:00.07

Duplicate of #39
Hi @BertieBuitendag, thank you to report the problem. This issue has already been reported. Today we will release a fix, but for now you can do this workaround: https://github.com/skia4delphi/skia4delphi/issues/39#issuecomment-1039378582

authors: BertieBuitendag viniciusfbb


text:
Use quadruple backticks

No need to use <pre>[code block]</pre>
Summary
You can display triple backticks in a fenced code block by wrapping them inside quadruple backticks.
See: https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks#fenced-code-blocks
Changes

<pre> → ```` (quadruple backticks)
</pre> → ```` (quadruple backticks)

Task list

[ ] For workflow changes, I have verified the Actions workflows function as expected.
[x] For content changes, I have reviewed the style guide.

Thanks for the suggestions, @sinsukehlab! For this one, we'll leave it as-is. Markdown can get funky when we're trying to show the syntax (like backticks-inside-of-backticks). So, for situations like this we revert to using a combination of HTML and Markdown to get the effect you see on the Skills course today.

@hectorsector Understood. The quadruple backticks work pretty well in my environment though.
See: https://github.com/sinsukehlab/communicate-using-markdown/blob/quadruple-backticks/.github/steps/3-add-a-code-example.md

authors: hectorsector sinsukehlab

repo: skills/communicate-using-markdown


text:
[TEST] Fix flaky AssignorTest#testAddNode() and AssignorTest#testUnregisterId()

https://github.com/skiptests/astraea/actions/runs/4927007925/jobs/8803363392#step:5:2071
AssignorTest > testAddNode() FAILED
    org.opentest4j.AssertionFailedError: expected: <0> but was: <1>
        at app//org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
        at app//org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
        at app//org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
        at app//org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:150)
        at app//org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:145)
        at app//org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:528)
        at app//org.astraea.common.assignor.AssignorTest.testAddNode(AssignorTest.java:171)

https://github.com/skiptests/astraea/actions/runs/4927007925/jobs/8803363392#step:5:2095
AssignorTest > testUnregisterId() FAILED
    org.opentest4j.AssertionFailedError: expected: <2> but was: <3>
        at app//org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
        at app//org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
        at app//org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
        at app//org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:150)
        at app//org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:145)
        at app//org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:528)
        at app//org.astraea.common.assignor.AssignorTest.testUnregisterId(AssignorTest.java:148)

@harryteng9527 Could you please take a look ?

已經在 https://github.com/skiptests/astraea/pull/1712#issue-1702157057 移除，因為已經用不到 checkUnregister 了

@harryteng9527 thanks for response. please close this issue if it has been fixed.

repo: skiptests/astraea


text:
Pychromecast7

Ongoing......... :tv:

Thank you for this. While you're developing, can you add function types where practical? Currently we don't indicate what we accept or return, and it's making development hard. I tried to add some but discovery isn't working for me and couldn't figure out what functions were supposed to return.

To clarify, I'm not saying add types to everything, just whatever function you happen to touch and is easy.

Gotcha. Basic casting should be working. I just need to get the auxilliary stuff up to date.

I resolved some conflicts and will look for the service_name now.

There's a new pychromecast PR: https://github.com/home-assistant-libs/pychromecast/pull/385
I suggest we wait and see how that pans out, before putting more effort into this.

Ah, agreed. I will do some work adding types to master in the mean time. What do you think regarding using PyChromecast's socket to talk to the Chromecast? They seemed to indicate that the socket is better for when groups change their leader, etc.

What do you think regarding using PyChromecast's socket to talk to the Chromecast

That shouldn't be neccesary. Our current crude approach in get_cast already handles this (i.e. connection to the old leader fails, we do discovery and find the new leader). If anything, we should use the new get_listed_chromecasts to do "re-discovery" in these cases.

@theychx the PR was merged, which is certainly interesting. Let's hope they keep that method of discovery and don't break it later...

authors: skorokithakis theychx

repo: skorokithakis/catt


text:
[master] fixed the php error

Hi skovmand,
There was a small php error, I hope this is ok to be merged.
Oliver

Thanks! Sorry, I didn't see it before now!

authors: obayesshelton skovmand

repo: skovmand/mailchimp-laravel


text:
"# define" is not highlighted correctly.

If one put spaces between # and define it should still be treated as #define.

It should, but unfortunately the keywords are treated as literal matches - with the exception of the special handling for | - so "#   define" and "#define" are different, and thus the match fails.
The only sane solution would be to define the token as "#\s*define" and use a regular expression library, such as PCRE, to do the matching.
Adding another library would spoil the simplicity of the editor. I'm not entirely averse to using other libraries, as indeed I've added lua, but I think I'd want a stronger justification than this specific failure-case.

repo: skx/kilo


text:
Can Telephoto zooming library be easily integrated with landscapist?

This new library from CashApp developer has just been released.
It's about zoomable image in Compose.
I can be easily implemented by ditching AsyncImage for this.
Can it be easily integrated into landscapist (it is already by default?)
https://saket.github.io/telephoto/

@CyrilNb I was planning to implement a dedicated zoomable ImagePlugin for this, and still on my mind when I have a moment. (Recently, I couldn't work on this much due to lack of my time 😓 )
Like the sample below, I just tested the telephoto library with Landscapist in the demo project, and it works well.
  GlideImage(
    imageModel = { poster.image },
    modifier = Modifier
      .aspectRatio(0.8f)
      .zoomable(rememberZoomableState()),
  ..

But basically, these two libraries focus on a different solution. Landscapist focuses on loading the basic images with a combination of many plugins so that you can use many add-ons easily, such as animations, placeholder, blur transformation, and so on. On the other hand, Telephoto's primary feature seems to focus on zoomable like PhotoView.
At this point, maybe I can consider using the telephoto library to implement a zoomable image plugin, but not sure if it's worth making it an independent plugin because it seems to be easy to use by itself by adding .zoomable(rememberZoomableState() on your Modifier.
@saket, what do you think? 😄 Maybe we can also find any collaboration points.

👋 Hi @skydoves! I was initially planning to add support for Glide through landscapist until I learned that Glide is already working on an official compose implementation. It is not as stable as landscapist yet, but I figured it'll be future proof.

but not sure if it's worth making it an independent plugin because it seems to be easy to use by itself by adding .zoomable(rememberZoomableState() on your Modifier.

It is actually slightly more involved because you'll also need to enable edge detection of images and sub-sampling for bitmaps. Edge detection will be straightforward but sub-sampling may not be, especially if you want to support placeholders and crossfade transitions.
Alternatively, could landscapist offer Zoomable*Image() extensions?

Hi @saket 👋, I appreciate your quick response and the history!
Sounds like a plan! I will take a look into the details of enabling edge detection of images and sub-sampling for bitmaps. Zoomable*Image() extensions also sounds great, but I'm not sure if it will be compatible with the image plugin.
I can make a PR about the skeleton of the zoomable image plugin using Telephoto and get back to you in early June when I have a moment. Or if you're interested in being a new primary co-maintainer of landscapist, I'd be very happy to walk you through the project and collaboration! 😄

The priority of this feature was changed, so let me re-open this issue when I have a moment.

authors: CyrilNb saket skydoves

repo: skydoves/landscapist


text:
PR: Add Pre-Release

https://github.com/mupen64plus-ae/mupen64plus-ae/pull/1079
brach: dev

I keep auto builds of pre-releases on the pull request for the specific version.
https://github.com/skylersaleh/SkyEmu/pull/143
I don't want them in the main releases page as they aren't tested well enough for general users.

authors: skylersaleh soundsnow

repo: skylersaleh/SkyEmu


text:
[core] JDK 11.0.20+9 breaks jadx decompilation functionality

Describe error
JDK has recently updated and has changed how the ZipFile class functions. JDK-8302483 breaks decompilation. Downgrading the installed JDK to versions older than 11.0.20 do indeed result in the error going away.
java.lang.RuntimeException: Failed to process zip file: /home/nick/Documents/SM-S908U_NA_12/apk/atfwd.apk
        at jadx.api.plugins.utils.ZipSecurity.visitZipEntries(ZipSecurity.java:115)
        at jadx.api.plugins.utils.ZipSecurity.readZipEntries(ZipSecurity.java:121)
        at jadx.plugins.input.dex.DexFileLoader.collectDexFromZip(DexFileLoader.java:90)
        at jadx.plugins.input.dex.DexFileLoader.load(DexFileLoader.java:73)
        at jadx.plugins.input.dex.DexFileLoader.loadDexFromFile(DexFileLoader.java:50)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
        at jadx.plugins.input.dex.DexFileLoader.collectDexFiles(DexFileLoader.java:45)
        at jadx.plugins.input.dex.DexInputPlugin.loadFiles(DexInputPlugin.java:37)
        at jadx.plugins.input.dex.DexInputPlugin.loadFiles(DexInputPlugin.java:33)
        at jadx.api.JadxDecompiler.loadInputFiles(JadxDecompiler.java:128)
        at jadx.api.JadxDecompiler.load(JadxDecompiler.java:112)
        at jadx.cli.JadxCLI.processAndSave(JadxCLI.java:48)
        at jadx.cli.JadxCLI.execute(JadxCLI.java:36)
        at jadx.cli.JadxCLI.main(JadxCLI.java:20)
Caused by: java.util.zip.ZipException: Invalid CEN header (invalid zip64 extra data field size)
        at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1750)
        at java.base/java.util.zip.ZipFile$Source.checkExtraFields(ZipFile.java:1276)
        at java.base/java.util.zip.ZipFile$Source.checkAndAddEntry(ZipFile.java:1219)
        at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1689)
        at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1464)
        at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1427)
        at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:723)
        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:250)
        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:179)
        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:193)
        at jadx.api.plugins.utils.ZipSecurity.visitZipEntries(ZipSecurity.java:97)
        ... 20 common frames omitted
ERROR - Failed to process zip file: /home/nick/Documents/SM-S908U_NA_12/apk/atfwd.apk
java.lang.RuntimeException: Failed to process zip file: /home/nick/Documents/SM-S908U_NA_12/apk/atfwd.apk
        at jadx.api.plugins.utils.ZipSecurity.visitZipEntries(ZipSecurity.java:115)
        at jadx.api.plugins.utils.ZipSecurity.readZipEntries(ZipSecurity.java:121)
        at jadx.plugins.input.java.JavaInputLoader.collectFromZip(JavaInputLoader.java:91)
        at jadx.plugins.input.java.JavaInputLoader.loadReader(JavaInputLoader.java:71)
        at jadx.plugins.input.java.JavaInputLoader.loadFromFile(JavaInputLoader.java:50)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
        at jadx.plugins.input.java.JavaInputLoader.collectFiles(JavaInputLoader.java:37)
        at jadx.plugins.input.java.JavaInputPlugin.loadClassFiles(JavaInputPlugin.java:36)
        at jadx.plugins.input.java.JavaInputPlugin.loadFiles(JavaInputPlugin.java:32)
        at jadx.api.JadxDecompiler.loadInputFiles(JadxDecompiler.java:128)
        at jadx.api.JadxDecompiler.load(JadxDecompiler.java:112)
        at jadx.cli.JadxCLI.processAndSave(JadxCLI.java:48)
        at jadx.cli.JadxCLI.execute(JadxCLI.java:36)
        at jadx.cli.JadxCLI.main(JadxCLI.java:20)
Caused by: java.util.zip.ZipException: Invalid CEN header (invalid zip64 extra data field size)
        at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1750)
        at java.base/java.util.zip.ZipFile$Source.checkExtraFields(ZipFile.java:1276)
        at java.base/java.util.zip.ZipFile$Source.checkAndAddEntry(ZipFile.java:1219)
        at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1689)
        at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1464)
        at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1427)
        at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:723)
        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:250)
        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:179)
        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:193)
        at jadx.api.plugins.utils.ZipSecurity.visitZipEntries(ZipSecurity.java:97)
        ... 20 common frames omitted
ERROR - Process error:
java.lang.RuntimeException: Failed to process zip file: /home/nick/Documents/SM-S908U_NA_12/apk/atfwd.apk
        at jadx.api.plugins.utils.ZipSecurity.visitZipEntries(ZipSecurity.java:115)
        at jadx.api.ResourcesLoader.loadFile(ResourcesLoader.java:144)
        at jadx.api.ResourcesLoader.load(ResourcesLoader.java:46)
        at jadx.api.JadxDecompiler.getResources(JadxDecompiler.java:402)
        at jadx.api.JadxDecompiler.load(JadxDecompiler.java:117)
        at jadx.cli.JadxCLI.processAndSave(JadxCLI.java:48)
        at jadx.cli.JadxCLI.execute(JadxCLI.java:36)
        at jadx.cli.JadxCLI.main(JadxCLI.java:20)
Caused by: java.util.zip.ZipException: Invalid CEN header (invalid zip64 extra data field size)
        at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1750)
        at java.base/java.util.zip.ZipFile$Source.checkExtraFields(ZipFile.java:1276)
        at java.base/java.util.zip.ZipFile$Source.checkAndAddEntry(ZipFile.java:1219)
        at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1689)
        at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1464)
        at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1427)
        at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:723)
        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:250)
        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:179)
        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:193)
        at jadx.api.plugins.utils.ZipSecurity.visitZipEntries(ZipSecurity.java:97)
        ... 7 common frames omitted

Thanks for reporting. Based on the page you have linked it should be sufficient to set the system property jdk.util.zip.disableZip64ExtraFieldValidation to true at start-up of jadx and jadx-gui.
According to the discussion in the apktools issue tracker about this JDK change:
See also https://github.com/iBotPeaches/Apktool/issues/3174#issuecomment-1642697602

I just made some tests and realized that calling System.setProperty("jdk.util.zip.disableZip64ExtraFieldValidation", "true"); at run-time has no effect:
This property is only read when java.util.zip.ZipFile is read. As the system class loader uses ZipFile to load the JAR files form class path the jdk.util.zip.disableZip64ExtraFieldValidation property is already before the first user class is executed. Therefore trying to set this property using System.setProperty is useless no matter how and where you add it.
The only way to set this property is directly when starting the java run-time. In the end this means we have to change the start script and the Launch4j generated executable.

@jpstotz I commit fix for run scripts as you suggested, so this should resolve the issue. Thanks for help! :+1:

@sklot I am currently in contact with Lance Andersen from Oracle, the author of JDK-8302483. I have provided him several APK files which cause the Invalid CEN header (invalid zip64 extra data field size). Not sure what will be the outcome of this, but the situation can only get better...

@jpstotz - Thank you for doing that. I was attempting that myself but struggled to make contact and provide samples.

For reference, the following OpenJDK PR seems to provide a solution to the problems mentioned in this issue:
https://github.com/openjdk/jdk/pull/15273

authors: eirbjo iBotPeaches jpstotz skylot zt64

repo: skylot/jadx