DebugID for the auto generated obfuscation mapping file

Hi, thanks for all the hard work.
If you're compiling an AOT app such as a Flutter app with obfuscation enabled, you can't deobfuscate the runtime types, See caveat.
Example:
flutter build ios --split-debug-info=symbols --obfuscate

For tools such as sentry.io this is important because we'd like to have the best user experience, but if you collect user's breadcrumbs/view hierarchy/etc and they are all obfuscated, well, not that useful.
You can though export the mapping file to remap the obfuscated types by using the extra param --extra-gen-snapshot-options=--save-obfuscation-map=mapping.json.
flutter build ios --split-debug-info=symbols --obfuscate --extra-gen-snapshot-options=--save-obfuscation-map=mapping.json

The problem is that right now you can't associate the version of the app with the generated file, since the version isn't unique enough.
For some other platforms, we can hook into the build pipeline and auto-generate a DebugID before uploading the mapping file to sentry.io and injecting the DebugID to the app, so it's also accessible at runtime, with this association you can remap the obfuscated types on the server.
The problem is that Dart/Flutter itself does not have build hooks and hooking up into each build tool of each platform isn't scalable/too complicated/fragile since new versions might break the build hooks, etc.
We request that the obfuscation tooling does that automatically, by generating and appending a unique/deterministic DebugID to the mapping file, plus that the Dart language gives a way to access the DebugID at runtime through an API (maybe the dart:developer package?).
import 'dart:developer';

String? get debugId;

We're trying to solve this problem with some other platforms as well, for example, source maps, see our proposal for more details.
More context on this thread as well.

Tentatively triaging to area-vm...

I think this is a reasonable request - it's not entirely clear to me where this should be done though and what kind of UUID we should be attaching. One option here is to somehow tie this to build-id of the binary, but this requires some post processing because for Mach-O LC_UUID is currently generated by external toolchain.
/cc @sstrickl @mkustermann

It seems the purpose here is to de-obfuscate symbol names that were obtained at runtime (e.g. via <obj>.runtimeType.toString() or #<my-symbol-name>) rather than from symbolic tacktraces.
As @mraleph points out, our AOT compiler has a mode where it outputs assembly and as such doesn't know at compilation time the build-id. I'd say that this is already a little problematic for stack traces, as they

in elf mode: include build_id in stack traces, making it easy to identify the binary & find corresponding offline symbol information

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 1531081, tid:<PHONE_NUMBER>12864, name DartWorker
os: linux arch: x64 comp: no sim: no
build_id: '4c9d4f6cf2c9b64423b1d561fd810cb6'
isolate_dso_base: 7face9ea4000, vm_dso_base: 7face9ea4000
isolate_instructions: 7face9f354c0, vm_instructions: 7face9f30000
    #00 abs 00007face9fe6002 virt<PHONE_NUMBER>142002 _kDartIsolateSnapshotInstructions+0xb0b42
    #01 abs 00007face9f8cfe0 virt<PHONE_NUMBER>0e8fe0 _kDartIsolateSnapshotInstructions+0x57b20
    #02 abs 00007face9f8ca37 virt<PHONE_NUMBER>0e8a37 _kDartIsolateSnapshotInstructions+0x57577

in assembly mode: do not include build_id, leaving no way to go back to binary & symbolic information (purely from stack):

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 1530943, tid:<PHONE_NUMBER>66880, name DartWorker
os: linux arch: x64 comp: no sim: no
isolate_dso_base: 7f626fbf0000, vm_dso_base: 7f626fbf0000
isolate_instructions: 7f626fbf65c0, vm_instructions: 7f626fbf1100
    #00 abs 00007f626fca7102 _kDartIsolateSnapshotInstructions+0xb0b42
    #01 abs 00007f626fc4e0e0 _kDartIsolateSnapshotInstructions+0x57b20
    #02 abs 00007f626fc4db37 _kDartIsolateSnapshotInstructions+0x57577

=> Possibly we could make our runtime find the build_id from the loaded ELF/MachO file.
=> Then we could have a dart:developer API to return the build_id of the app
=> The one invoking the build, can save obfuscation map and associate it with the build_id with the obfuscation map
Doing this would make the non-symbolic stack traces in assembly mode better, provide programmatic access to build_id and avoid inventing another UUID.
If we used another UUID for the obfuscation map, then we'd need to surface that at runtime via API but also include in the obfuscation map. As the current format of obfuscation map is a simple array of string, we'd break the format by adding a UUID in there (or would need a hack by emitting a obfuscation entry we misuse to encode UUID)
@mraleph @sstrickl wdyt about making runtime find build_id?

Consider source maps as well, it'd be awesome if the generated source maps append the debugId, so we don't have to manually associate the file to the app's version which is problematic.

So I've made CL 306640. In that CL, when printing out a non-symbolic stack trace, the runtime still uses the build ID information from the app isolate instructions image if that information is available. If not, the runtime then looks in the DSO loaded for the app isolate instructions for its build ID (ELF) or UUID (Mach-O) information and uses that instead.
I'll do a followup CL that exposes the build ID via dart:developer, so the build ID can be retrieved programatically. For example, the built application can take a command line option which tells it to just print the build ID/UUID and exit, so the flow for building an application can retrieve the build ID that will be used at runtime (whether VM-generated or assembler-generated) and then save that information somewhere for later use.

So I've made CL 306640. In that CL, when printing out a non-symbolic stack trace, the runtime still uses the build ID information from the app isolate instructions image if that information is available. If not, the runtime then looks in the DSO loaded for the app isolate instructions for its build ID (ELF) or UUID (Mach-O) information and uses that instead.
I'll do a followup CL that exposes the build ID via dart:developer, so the build ID can be retrieved programatically. For example, the built application can take a command line option which tells it to just print the build ID/UUID and exit, so the flow for building an application can retrieve the build ID that will be used at runtime (whether VM-generated or assembler-generated) and then save that information somewhere for later use.

I've checked the beta channel and can see the NativeRuntime.buildId, thank you for that.
I'm afraid that the suggested approach wouldn't work for Mobile at least.
Mobile apps can't execute a CLI command and return something AFAIK, APK is just a zip file.
Right now I'm able to read the debugId at runtime but not after the build, what's the chance that this debugId gets injected into the generated file (--save-obfuscation-map=mapping.json), or even outputting a new file that contains the debugId?
What we'd need is a way to retrieve the debugId after the app is compiled since Flutter does not have build hooks, so I can upload the mapping.json and associate it with the debugId.
Also, is there a way to generate a debugId for Flutter web as well? since we'd need that to symbolicate class types as well.
Another option is an extra build parameter that avoids obfuscation of class types, JS, for example, does not minify class types by default.
Eg flutter build web --source-maps --no-class-types-obfuscation
Let me know your thoughts.

Actually, I found a way to match the buildId after being compiled.

❯ sentry-cli debug-files check app.android-arm64.symbols
Debug Info File Check
Type: elf debug companion
Contained debug identifiers:
> Debug ID: 6ff64056-41c6-7a20-4067-e263a1b01ced
Code ID:  5640f66fc641207a4067e263a1b01ced
Arch:     arm64
Contained debug information:
> symtab, debug
Usable: yes

Using sentry-cli's check command, the Code ID matches the NativeRuntime.buildId at runtime.
So sentry-cli can associate the generated file (--extra-gen-snapshot-options=--save-obfuscation-map=mapping.json) with the Code ID from the debug symbols.
Is that always the case @sstrickl ?

I would assume so, since I assume sentry-cli is using the same standard ELF note segment that we are to retrieve this information.  The only issue would be if multiple build ID note segments were created (so you'd have to figure out which is the "right" one re: what the Dart VM would pick), but since we only generate one ourselves if compiling direct to ELF and otherwise let the assembler handle generating the build ID (which should only generate one), it should be safe to depend on any tool for ELF files that produces a build ID, like sentry-cli or readelf:
$ readelf -n bar.so

Displaying notes found in: .note.gnu.build-id
  Owner                Data size 	Description
  GNU                  0x00000010	NT_GNU_BUILD_ID (unique build ID bitstring)
    Build ID: 852bbe58cb4f654b7165bb316e1a3528

@sstrickl thanks.
So the only missing bit to unblock full symbolication of class types is an identifier (eg similar to build_id) for Flutter web.
Right now we cannot associate the compiled Flutter web app and the generated mapping file.
Any plans or ideas on how to tackle this?

So the only missing bit to unblock full symbolication of class types is an identifier (eg similar to build_id) for Flutter web.
Right now we cannot associate the compiled Flutter web app and the generated mapping file.
Any plans or ideas on how to tackle this?

Is the code that prints the names of classes (e.g. via <obj>.runtimeType.toString()) Dart code? Do those prints eventually end up in some logging system?
What one can do right now is e.g.
import 'dart:developer';

main() {
  log('App startup, build-id: ${NativeRuntime.buildId}');
  ...
  foo(...);
}
void foo(...) {
  log('Got object ${object.runtimeType}');
  try {
    ...
  } catch (e, s) {
    log('Got exception ${e.runtimeType}');
  }
}

One can then post-process all this logging information, finding the printed build-id, getting the obfuscation map for that build-id, then replacing all obfuscated names with the unobfuscated names in the logs (e.g. regexp-replace, or simple tokenzier & replacing, ...).
It wouldn't be precise, as one may actually print intentionally a string that also corresponds to an obfuscated symbol name, but the probability of that happening are quite low - and for logs this edge case may not matter at all.
@marandaneto would that work for you?

Hi @mkustermann yes, we'd like to symbolicate the minified names gotten by <obj>.runtimeType.toString().
Getting the NativeRuntime.buildId isn't a problem (at runtime), nor doing the symbolication (e.g. regexp-replace, or simple tokenzier & replacing, ...).
The problem is to associate the log with a given buildId and the generated mapping file.
If I have multiple releases of an app, I also have multiple mapping files, so which one do I look for?
The solution would be that the mapping file would contain the buildId that matches the NativeRuntime.buildId.
Or I'd be able to read the NativeRuntime.buildId somehow (via compilation hooks, or similarly to AOT apps using sentry-cli/readelf), so I can make the association of the mapping file myself during the upload process (Think about 3rd party solutions that upload those mapping files from multiple releases).
The problem is that a compiled version of a Flutter web app does not have any reference to the buildId.

The problem is to associate the log with a given buildId and the generated mapping file.
If I have multiple releases of an app, I also have multiple mapping files, so which one do I look for?

The log will contain obfuscated symbols + build-id needed to symbolize (similar to our stack traces).
When creating the app one gets an ELF/MachO file containing the build-id as well as the obfuscation map as well as debug symbols file. This has to be preserved somewhere, e.g. a database storing the debug symbol file & obfuscation map for each app version. It can use the build-id as key to obtain debug symbol file & obfuscation file.
So maybe the issue here is that you have trouble getting the build-id out of the generated binary at compile-time. There's native tools that can be used for this (e.g. objdump -s -j /bin/ls). But as we already have ELF/MachO parsing code in package:native_stack_traces, we could add a tool there to dump the build-id to avoid dependency on the native tools, e.g.
% pub global activate native_stack_traces
% pub global run native_stack_traces:dump_build_id libapp.so

Would that be helpful?

The problem is that a compiled version of a Flutter web app does not have any reference to the buildId.

@marandaneto could you open a separate issue for web support?

@mkustermann Sure, for AOT compiled apps, we have all we need, the given API NativeRuntime.buildId was the only missing bit, thanks for that.
I will open an issue for Flutter Web support and this issue could be closed as done since there are no blockers anymore.

@mkustermann https://github.com/dart-lang/sdk/issues/53027


gaze-to-click in VR mode

This pr includes pr https://github.com/googlevr/vrview/pull/205 and pr https://github.com/googlevr/vrview/pull/207
The code in hotspot-renderer.js was started by fix2015 here: https://github.com/googlevr/vrview/issues/145
This fixes https://github.com/googlevr/vrview/issues/145 and https://github.com/googlevr/vrview/issues/209

@tommytee hey, sorry again for the uglify-es confusion. Please resolve conflicts and then i'll merge this too. Thanks!

https://github.com/googlevr/vrview/pull/223


fix(fromEvent): fixed HasEventTargetAddRemove to support EventTarget types

Description:
Makes it possible to use fromEvent() with a simple EventTarget.
Related issue (if exists):
Closes #5944

Thanks, @rraziel

Thanks, @rraziel


Synonimous FrameShift over stop codon not annotated as silent

Testcase, using genome GRCm38, over transcript ENSMUST00000086738
##fileformat=VCFv4.1
#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT

# The coding sequence at chr1/99772765 has transcript ID ENSMUST00000086738
# and the end looks like:
# TTC ATC TGA ACT ATT GTG TGG TCA TCT GGT CCT CTT TTT (...)
#         ^ stop codon

# Synonymous FrameShift over the stop codon: TGA -> TAG AAC ...
chr1	100484699	.	T	TA	5000	.	.	.

This is annotated as
StopLoss(variant=chr1 g.100484699_100484700insA, transcript_name=Cntnap5b-001, transcript_id=ENSMUST00000086738, effect_description=p.*1293 (stop-loss))
* aa_ref = "*"
* aa_alt = ""
* modifies_protein_sequence = True

I think this should be annotated as Silent(...)

Suggested fix
--- a/varcode/frameshift_coding_effect.py       2016-08-28 13:43:04.078051389 +0200
--- b/varcode/frameshift_coding_effect.py       2016-08-28 13:43:26.689344990 +0200
@@ -68,11 +68,6 @@
         # TODO: scan through sequence_from_mutated_codon for
         # Kozak sequence + start codon to choose the new start
         return StartLoss(variant=variant, transcript=transcript)
-    elif mutated_codon_index == original_protein_length:
-        return StopLoss(
-            variant=variant,
-            transcript=transcript,
-            extended_protein_sequence=mutant_protein_suffix)

     # the frameshifted sequence may contain some amino acids which are
     # the same as the original protein!
@@ -86,7 +81,10 @@
         if len(mutant_protein_suffix) == 0:
             # miraculously, this frameshift left the protein unchanged,
             # most likely by turning one stop codon into another stop codon
-            aa_ref = original_protein_sequence[mutated_codon_index]
+            if mutated_codon_index == len(original_protein_sequence):
+                aa_ref = "*"
+            else:
+                aa_ref = original_protein_sequence[mutated_codon_index]
             return Silent(
                 variant=variant,
                 transcript=transcript,

Thanks for submitting these @joaoe, I'll start looking through them tomorrow.

Fixed by https://github.com/hammerlab/varcode/pull/173


[terra-form-select] onBlur event should not be triggered when selecting an option

Summary
I have added condition, such that whenever relatedTarget === this.input onBlur event should not be triggered for mobile.
Resolves #2845

With these changes desktop is still experiencing invalid onBlur/onFocus. Are you wanting to split the changes into two separate PRs to fix desktop/mobile issues?

One of the WDIO screenshots for the select is failing. Do we know what caused the change and if the screenshot should be updated?
cc: @pranav300


Write a C program to convert standard date format to julian date and vice-versa

Description
Write a C program to convert standard date format to julian date and vice-versa
A Julian date is a way of displaying a date that combines the current year with the number of days since the beginning of the year. For example, January 1, 2007 is 2007001, and December 31, 2007 is 2007365.
The first two digits of a Julian date represent the year, and the last three digits represent the number of days since the beginning of the year. For example, 21-001 represents January 1, 2021, and 22-165 represents June 14, 2022.
Example
Input  : 2023-06-10
Output : 2023160

Contributed by - @magar51

How to contribute

Comment !assign to assign this issue to yourself
Fork this repository
Create a new branch
Save the solution in program/program/convert-standard-date-format-to-julian-date-and-vice-versa/ConvertStandardDateFormatToJulianDateAndVice-versa.c
Commit the changes
Create a pull request

!assign

!assign

!assign


Can a Logic write to more than one StateRef?

Is there, or should there be, a one-to-one binding between a Logic and a StateRef? Or can a ViewLogic write to several StateRef objects?

Yes absolutely. The logic can be the entire business logic of a page or a component and can manage multiple states.

Ah ok. Great. Maybe something like that could be mentioned in the docs.

Yeah I definitely should take more time on the documentation. If you have any idea how to better introduce this package, all ideas are welcome 🙂

Yes, will do!
BTW, i've just ported the state solution in my (fairly large) app from RiverPod to Binder :) it went pretty smoothly, and i feel your solution is more sane!
Still some more testing to do, but happy so far! will let you know if i bump into some issues.

Wow, that's really great to hear 😊. Do you mind to tell me why you think it's more sane in your opinion, and what would be the advantages and drawbacks of this package versus riverpod?
Knowing this could help people to choose between the two approaches and could also help me to improve this package.
Thanks for your feedback 🙂

I like that there is less classes / API to deal with.  I don’t have to deal with a many different providers, which makes it easier to make choices and get stuff done. In RiverPod some Providers return AsyncData and some don’t, in Binder the user have to handle loading state himself using either a custom loading state objects or by using Loadable / LogicLoader; for me this makes me more aware of what is going on. There was initially a bit more code to type, but i enjoyed splitting the various state objects into separate files, and when i had done that, i felt i had more control of what was going on, and was able to makes changes more confidently.

I like that there are less classes and API’s to deal with.  I don’t have to learn many different providers and make choices on what to use, which makes it easier to get stuff done. In RiverPod some Providers return AsyncData and some don’t, in Binder you have to handle loading state yourself using either a loading StateRef or Loadable / LogicLoader; for me this is a cleaner solution. There was initially somewhat more code to type, but i enjoyed splitting the various state objects into separate files, and when finished, i felt more in control of what was going on and was able to makes changes confidently.

The advantage i see with Riverpod is that you can do more things with less code, and also it is possible to combine async providers.


"show compare" should show device name

Just as "commit diff" the device name should be included for "show compare":
snc@snc-lab[/]# commit diff
juniper1:
         <login xmlns="http://yang.juniper.net/junos/conf/root">
+           <user>
+              <name>testing</name>
+              <full-name>testing</full-name>
+              <class>super-user</class>
+           </user>
         </login>
juniper2:
OK
snc@snc-lab[/]# show compare
                  login {
+                    user testing {
+                       full-name testing;
+                       class super-user;
+                    }
                  }

What to with non-device data?
That is, you can change config for services/processes or something else.

Maybe add a service section etc?
snc@snc-lab[/]# show compare
juniper1:
                  login {
+                    user testing {
+                       full-name testing;
+                       class super-user;
+                    }
                  }
juniper2:
                  login {
+                    user testing {
+                       full-name testing;
+                       class super-user;
+                    }
                  }
services:
               ssh-users {
                  sunet {
+                    user testing {
+                       full-name testing;
+                       class super-user;
+                    }
                  }
               }

devices {
device router-r {
config {
junos:configuration {
system {

               domain-name sunet.se;

               domain-name orvar;
           }
       }
   }

}
}


$has_many issue on create

I'm having an issue where I have a $has_many in one of my custom elements.
Steps to Reproduce
Add content block

After filling details, instead of "create", I click on add partials first, this is a $has_many relationship

After clicking, everything seems fine, I can keep going...

However, when I hit create, I'm given a blank page and the url moves to http://localhost:9003/admin/pages/edit/.
I believe this is because the element wasn't actually created before I started adding the $has_many elements. Is there a workaround to solving this? Am I doing something wrong?
Here's my element:
<?php

use DNADesign\Elemental\Models\BaseElement;
use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\GridField\GridField;
use SilverStripe\Forms\GridField\GridFieldConfig_RecordEditor;
use SilverStripe\Forms\TextField;
use SilverStripe\Forms\TextareaField;
use SilverStripe\ORM\FieldType\DBField;

class DownloadsContentBlock extends BaseElement
{
    private static $table_name = "ElementDownloadsContentBlock";

    public $singular_name = "Downloads Content Block";

    public $plural_name = 'Download Content Blocks';

    public $description = 'Create a Downloads Content Block';

    private static $db = [
        'Title' => 'Varchar(50)',
        'Text' => 'Varchar(255)'
    ];

    private static $has_many = [
        'Downloads' => DownloadsPartial::class,
    ];

    private static $summary_fields = [
        'title' => ''
    ];

    /**
     * @override
     *
     * @return Fields
     */
    public function getCMSFields()
    {
        $fields = Fieldlist::create(
            TextField::create('Title', 'Title'),
            TextareaField::create('Text', 'Text'),
            GridField::create(
                'Resources',
                'Add as many resources as you want',
                $this->Downloads(),
                GridFieldConfig_RecordEditor::create()
            )
        );

        return $fields;
    }

    public function getSummary()
    {
        return DBField::create_field('HTMLText', $this->Text)->Summary(20);
    }

    /**
     * @override
     *
     * @return string
     */
    public function getType()
    {
        return $this->singular_name;
    }
}

And here is my partial:
<?php

use SilverStripe\AssetAdmin\Forms\UploadField;
use SilverStripe\Assets\Image;
use SilverStripe\Assets\File;
use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\TextField;
use SilverStripe\ORM\DataObject;

class DownloadsPartial extends DataObject
{
    private static $table_name = "ElementDownloadsBlockPartial";

    public $singular_name = "Download";

    public $plural_name = 'Downloads';

    public $description = 'Create a Download';

    private static $db = [
        'Title' => 'Varchar(50)',
    ];

    private static $has_one = [
        'Image' => Image::class,
        'File' => File::class,
        'DownloadsContentBlock' => DownloadsContentBlock::class
    ];

    private static $summary_fields = [
        'title' => ''
    ];

    private static $owns = [
        'Image',
        'File'
    ];

    /**
     * @override
     *
     * @return Fields
     */
    public function getCMSFields()
    {
        $fields = Fieldlist::create(
            TextField::create('Title', 'Title'),
            $file = UploadField::create('File', 'File:'),
            $image = UploadField::create('Image', 'Image (Optional):')
        );

        $image->getValidator()->setAllowedExtensions([
            'png', 'jpeg', 'jpg'
        ]);

        $file->getValidator()->setAllowedExtensions([
            'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx',
            'png', 'jpeg', 'jpg'
        ]);

        return $fields;
    }
}

Yes this is a common pattern where you try to add records to an unsaved relation list.
You can do something like this in your content block that renders the GridField:
public function getCMSFields()
{
    $fields = parent::getCMSFields();
    if (!$this->isInDB()) {
        $fields->addFieldToTab('Root.Main', LiteralField::create('UnsavedNotice', 'Save the record to begin adding new children.'));
        return $fields;
    }
    // add your gridfield here
}


Add words "Vacillate", "Vacuous", "Vainglorious", "Vagary" and "Vagrant"

Add words "Vacillate", "Vacuous", "Vainglorious", "Vagary" and "Vagrant"
Add all the definitions of Vacillate in a file named Vacillate.json in folder V
Add all the definitions of Vacuous in a file named Vacuous.json in folder V
Add all the definitions of Vainglorious in a file named Vainglorious.json in folder V
Add all the definitions of Vagary in a file named Vagary.json in folder V
Add all the definitions of Vagrant in a file named Vagrant.json in folder V
Refer Contribution.md for more details on how to contribute.
Comment here if you're are working on this issue to avoid conflicts.
Add reference to this issue i.e Issue #638 in your pull request description.

Working on all the remaining words


Need a template for a Transit Slip

See also https://github.com/culibraries/folio/issues/119#issuecomment-1048203986

Created a temporary transit slip template.


testing: no specific message if a benchmark is skipped

What version of Go are you using (go version)?
1.6 linux/amd64

What did you do?
Skip a benchmark *testing.B

What did you expect to see?
It should display a message, like *testing.T

What did you see instead?
This is from my project.
It skips tests and benchmark if there is no Redis server listening on the default port.
As you can see, there are "SKIP" messages if a test is skipped, but only the error message if a benchmark is skipped.

➜  ~ go test -v -bench=. github.com/pierrre/imageserver/cache/redis
=== RUN   TestGetSet
--- SKIP: TestGetSet (0.00s)
	redis_test.go:115: dial tcp [::1]:6379: getsockopt: connection refused
=== RUN   TestGetMiss
--- SKIP: TestGetMiss (0.00s)
	redis_test.go:115: dial tcp [::1]:6379: getsockopt: connection refused
=== RUN   TestGetErrorAddress
--- PASS: TestGetErrorAddress (0.00s)
=== RUN   TestSetErrorAddress
--- PASS: TestSetErrorAddress (0.00s)
=== RUN   TestGetErrorUnmarshal
--- SKIP: TestGetErrorUnmarshal (0.00s)
	redis_test.go:115: dial tcp [::1]:6379: getsockopt: connection refused
=== RUN   TestSetErrorMarshal
--- SKIP: TestSetErrorMarshal (0.00s)
	redis_test.go:115: dial tcp [::1]:6379: getsockopt: connection refused
PASS
BenchmarkGetSizeSmall-8     	       0	         0 ns/op
--- BENCH: BenchmarkGetSizeSmall-8
	redis_test.go:115: dial tcp [::1]:6379: getsockopt: connection refused
BenchmarkGetSizeMedium-8    	       0	         0 ns/op
--- BENCH: BenchmarkGetSizeMedium-8
	redis_test.go:115: dial tcp [::1]:6379: getsockopt: connection refused
BenchmarkGetSizeLarge-8     	       0	         0 ns/op
--- BENCH: BenchmarkGetSizeLarge-8
	redis_test.go:115: dial tcp [::1]:6379: getsockopt: connection refused
BenchmarkGetSizeHuge-8      	       0	         0 ns/op
--- BENCH: BenchmarkGetSizeHuge-8
	redis_test.go:115: dial tcp [::1]:6379: getsockopt: connection refused
BenchmarkGetParallelism1-8  	       0	         0 ns/op
--- BENCH: BenchmarkGetParallelism1-8
	redis_test.go:115: dial tcp [::1]:6379: getsockopt: connection refused
BenchmarkGetParallelism2-8  	       0	         0 ns/op
--- BENCH: BenchmarkGetParallelism2-8
	redis_test.go:115: dial tcp [::1]:6379: getsockopt: connection refused
BenchmarkGetParallelism4-8  	       0	         0 ns/op
--- BENCH: BenchmarkGetParallelism4-8
	redis_test.go:115: dial tcp [::1]:6379: getsockopt: connection refused
BenchmarkGetParallelism8-8  	       0	         0 ns/op
--- BENCH: BenchmarkGetParallelism8-8
	redis_test.go:115: dial tcp [::1]:6379: getsockopt: connection refused
BenchmarkGetParallelism16-8 	       0	         0 ns/op
--- BENCH: BenchmarkGetParallelism16-8
	redis_test.go:115: dial tcp [::1]:6379: getsockopt: connection refused
BenchmarkGetParallelism32-8 	       0	         0 ns/op
--- BENCH: BenchmarkGetParallelism32-8
	redis_test.go:115: dial tcp [::1]:6379: getsockopt: connection refused
BenchmarkGetParallelism64-8 	       0	         0 ns/op
--- BENCH: BenchmarkGetParallelism64-8
	redis_test.go:115: dial tcp [::1]:6379: getsockopt: connection refused
BenchmarkGetParallelism128-8	       0	         0 ns/op
--- BENCH: BenchmarkGetParallelism128-8
	redis_test.go:115: dial tcp [::1]:6379: getsockopt: connection refused
ok  	github.com/pierrre/imageserver/cache/redis	0.014s

Simplified repro:
package benchskip

import "testing"

func TestSkip(t *testing.T) {
        t.Skip("skipping")
}

func BenchmarkSkip(b *testing.B) {
        b.Skip("skipping")
}

And running it:
$ go test -v -run=. -bench=.
=== RUN   TestSkip
--- SKIP: TestSkip (0.00s)
        benchskip_test.go:6: skipping
BenchmarkSkip-2                0                 0 ns/op
--- BENCH: BenchmarkSkip-2
        benchskip_test.go:10: skipping
        benchskip_test.go:10: skipping
PASS
ok      benchskip       0.003s

Three bugs:

no SKIP line for benchmarks
double "skipping" output for benchmarks
benchmark times are output anyway, despite the skip.

@mpvl, you touched all this last. Can you take this?

Yes, will do
On Sunday, April 3, 2016, Brad Fitzpatrick<EMAIL_ADDRESS>wrote:

Simplified repro:
package benchskip
import "testing"
func TestSkip(t *testing.T) {
t.Skip("skipping")
}
func BenchmarkSkip(b *testing.B) {
b.Skip("skipping")
}
And running it:
$ go test -v -run=. -bench=.
=== RUN   TestSkip
--- SKIP: TestSkip (0.00s)
benchskip_test.go:6: skipping
BenchmarkSkip-2                0                 0 ns/op
--- BENCH: BenchmarkSkip-2
benchskip_test.go:10: skipping
benchskip_test.go:10: skipping
PASS
ok      benchskip       0.003s
Three bugs:

no SKIP line for benchmarks
double "skipping" output for benchmarks
benchmark times are output anyway, despite the skip.

@mpvl https://github.com/mpvl, you touched all this last. Can you take
this?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/golang/go/issues/14799#issuecomment-204844278

The only recent bug of these three is the the doubling of output.
The request to display a SKIP-ed benchmark seems reasonable.
The benchmark times always being output was an artifact of the old implementation that was adopted by the recent implementation of subbenchmarks. Now we have a separate probing stage, though, it is easy to omit this line, at least for the common case where a failure is always present in the first iteration.
An upcoming CL addresses all of these issues.

Thank you!


Denial of service when parsing JSON object by uJson with keys that have the same hash code

Sub-quadratic decreasing of throughput when number of JSON object fields (with keys that have the same hash code) is increasing
On contemporary CPUs parsing with uJson of such JSON object (with a sequence of 100000 fields like below that is ~1.6Mb) can took more than 100 seconds at ~4GHz:
{
"!!sjyehe":null,
"!!sjyeiF":null,
"!!sjyej'":null,
"!!sjyfIe":null,
"!!sjyfJF":null,
...
}

Below are results of the benchmark where size is a number of such fields:
[info] REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on
[info] why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial
[info] experiments, perform baseline and negative tests that provide experimental control, make sure
[info] the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts.
[info] Do not assume the numbers tell you what you want them to tell.
[info] Benchmark                     (size)   Mode  Cnt        Score        Error  Units
[info] ExtractFieldsReading.uJson         1  thrpt    3  1487354.819 ±  83898.869  ops/s
[info] ExtractFieldsReading.uJson        10  thrpt    3   250920.609 ±  34064.565  ops/s
[info] ExtractFieldsReading.uJson       100  thrpt    3    13192.592 ±   4909.302  ops/s
[info] ExtractFieldsReading.uJson      1000  thrpt    3      325.361 ±     34.991  ops/s
[info] ExtractFieldsReading.uJson     10000  thrpt    3        2.133 ±      0.591  ops/s
[info] ExtractFieldsReading.uJson    100000  thrpt    3        0.009 ±      0.013  ops/s
[info] ExtractFieldsReading.uPickle       1  thrpt    3  1109304.645 ± 221248.420  ops/s
[info] ExtractFieldsReading.uPickle      10  thrpt    3   173577.038 ± 237304.899  ops/s
[info] ExtractFieldsReading.uPickle     100  thrpt    3    19666.200 ±  15157.982  ops/s
[info] ExtractFieldsReading.uPickle    1000  thrpt    3     2060.346 ±   1449.021  ops/s
[info] ExtractFieldsReading.uPickle   10000  thrpt    3      199.655 ±    134.897  ops/s
[info] ExtractFieldsReading.uPickle  100000  thrpt    3       20.726 ±      8.587  ops/s```

To run that benchmarks on your JDK:

Install latest version of sbt and/or ensure that it already installed properly:

sbt about

Clone jsoniter-scala repo:

git clone https://github.com/plokhotnyuk/jsoniter-scala.git

Enter to the cloned directory and checkout for the specific branch:

cd jsoniter-scala
git checkout json4s-DoS-by-hashmap-collisions

Run benchmarks using a path parameter to your JDK:

sbt 'jsoniter-scala-benchmark/jmh:run -wi 3 -i 3 ExtractFieldsReading.u'

wontfix. Open a bug against scala/scala

you can also parse into some other AST if you don’t like the builtin one. Serializing Scala data types doesn’t involve the AST at all, as your benchmarks have shown.

@lihaoyi are you not happy from a feedback of those benchmarks? will you wait it from the users whose business happened to be affected?

@plokhotnyuk maybe you've mentioned elsewhere, but what do you suggest that ujson does to fix this issue, avoid using LinkedHashMap to represent json objects? Maybe the simplest/easiest fix would be to put together a private implementation of a LinkedCollisionProofHashMap which leverages a scala.collection.mutable.CollisionProofHashMap[String, Node[String, JsValue]] where Node is
final class Node[K,V](var earlier: Node[K,V], val k: K, var v: V, var later: Node[K, V])

It should be pretty simple implement, I'd guess less than 100 lines. Much more ambitiously, a custom fork of CollisionProofHashMap could be made to be both Linked, and specialized to K=String,V=JsValue to avoid the double boxing (both CollisionProofHashMap Nodes and our own linking Nodes) as well as avoid caching the key hashcodes, since Strings already cache their hashcodes. But this version would be ~1000 lines (compare with the CollisionProofHashMap in stdlib).

@joshlemer yeah, there are number of options and these, proposed by you are most safe and efficient.
Other low hanging fruits to fix O(n^2) complexity of the reported case could be using of wrapped java.util.LinkedHashMap, or just Seq of key/value pairs.

This issue really ought to be solved by the Scala library, or at least by some other compatible library.  It's kind of unreasonable to expect everyone who might have to deal with maliciously-crafted data to roll their own ideally-order-aware certainly-String-hash-collision-safe dictionary.  Doesn't everyone, not just uJson, have a problem with malicious key structures of this type?

@Ichoran I guess you can say its a lot more prominent in the "world of JSON" land we live in.

This issue really ought to be solved by the Scala library

Is there a scala/bug ticket on this? If so, please link to it; if not, I invite y'all to open one.
previously in this space: https://github.com/scala/scala/pull/7633


Llama.cpp Support

Exploring possibilities to support GGML / GGUF formats to run with Llama.cpp

the model is missing some keys and count be converted to GGUF format
'rms_norm_eps'

A full set of Llama.cpp compatible .gguf files is available at
https://huggingface.co/maddes8cht/adept-persimmon-8b-base-gguf
and
https://huggingface.co/maddes8cht/adept-persimmon-8b-chat-gguf
For the moment, cuda accelleration seems not to work, so you need to use -ngl 0 with the cublas versions.


feat: parse component TOMLs into docker containers

After #14

Once we have our stack components laid out as TOML files, we will need to parse them into concrete Docker containers in order to start running, orchestrating and monitoring them.
With Bollard, we can use the Docker::create_container() method to prepare a container for a start operation. This requires parsing all image related data along with the rest of the Config.

I want to try this if nobody else is on it


The Container registry ignores ports.

Description

We assigned the web server to 443 and the gitea server to 12080.
All other functions in gitea use the 12080 port normally.
(pypi on the same port works fine.

)
However, we noticed that when we specify Container registry with docker login,
it takes us to the webpage we assigned to 443.
When I checked the given path directly in my browser,
I saw that the port is being ignored in the www-authenticate: header.
Is there any way to set the port in this case?
Gitea Version
1.22.1
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
No response
How are you running Gitea?
docker:
services:
  repository:
    container_name: git-server
    image: gitea/gitea:1.22.1
    restart: always
    env_file:
      - .env
    ports:
      - "<IP_ADDRESS>:${GITEA_SSH_PORT}:22"
    networks:
      - public-network
    command:
      - sh
      - -c
      - |
        sh /init.sh
        /bin/s6-svscan /etc/s6
    volumes:
      - git-server:/data
      - type: bind
        source: "/home/${GITEA_SSH_USER_NAME}/.ssh"
        target: "/data/git/.ssh"
        read_only: false
      - type: bind
        source: "./app.ini.default"
        target: "${GITEA_APP_DEFAULT_PATH}"
        read_only: true
      - type: bind
        source: "./init.sh"
        target: "/init.sh"
        read_only: true
    extra_hosts:
      - ${COMMON_PROXY_LOCAL_HOST}:host-gateway
      - ${COMMON_ADDITIONAL_PROXY_LOCAL_HOST}:host-gateway
    logging:
      options:
        max-size: 10m
        max-file: 1

volumes:
  git-server:
    external: true

networks:
  public-network:
    external: true

nginx:
include /etc/nginx/forwarded.conf;

server {
    listen ${GITEA_PORT} ssl;
    listen [::]:${GITEA_PORT} ssl;
    server_name ${COMMON_HOST_NAME};
    http2 on;

    ssl_certificate /etc/nginx/${COMMON_CERT_KEY_NAME}.crt;
    ssl_certificate_key /etc/nginx/${COMMON_CERT_KEY_NAME}.rsa;
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    #ssl_ciphers PROFILE=SYSTEM;
    ssl_prefer_server_ciphers on;

    error_page 497 =307 https://$host:$server_port$request_uri;
    set $gitea_target "${GITEA_HOST}:${GITEA_REPOSITORY_PORT}";

    # gitea
    location / {
        client_max_body_size 2G;

        resolver <IP_ADDRESS> valid=30s;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-NginX-Proxy true;
        proxy_set_header Host $host:${GITEA_PORT};

        proxy_pass http://$gitea_target;
        proxy_redirect off;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $http_connection;

        proxy_set_header Forwarded "$proxy_add_forwarded;proto=$scheme";
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Port ${GITEA_PORT};
    }
}

Database
PostgreSQL

Remove all unnecessary headers, especially "X-Forwarded-Host" and  "X-Forwarded-Port"
Only keep "Host" and "X-Forwarded-Proto", see official document. https://docs.gitea.com/administration/reverse-proxies#nginx

Remove all unnecessary headers, especially "X-Forwarded-Host" and "X-Forwarded-Port"
Only keep "Host" and "X-Forwarded-Proto", see official document. https://docs.gitea.com/administration/reverse-proxies#nginx

@wxiaoguang
It was a mistake to try to keep the same template with different services.
Now it works fine.
Thanks a lot.


sys/linux: extend KVM caps descriptions

Add missing VM/CPU caps and specify type of arguments for each cap.

@aik FYI inspired by your PR
You could do the same for PPC. Unfortunately kernel defines all arch-specific for all arches, so lots of these will be enabled for wrong arches. It's not end of the world, though.

@aik FYI inspired by your PR You could do the same for PPC. Unfortunately kernel defines all arch-specific for all arches, so lots of these will be enabled for wrong arches. It's not end of the world, though.

I am not quite sure I understood :-)
Are these .const auto generated? make extract TARGETOS=linux SOURCEDIR=~/p/kernel/ (run on ppc64le) produces 166 changed files and sys/linux/dev_kvm.txt.const has every line changed.
Is the idea just to go through those I use in executor/common_kvm_ppc64.h and apply only those generated changes and drop the definitions from executor/common_kvm_ppc64.h?

I am not quite sure I understood :-)

I think I meant to add ioctl per capability specializations for PPC caps as well, this has advantage of specifying exact argument type required for each capability.

Are these .const auto generated? make extract TARGETOS=linux SOURCEDIR=~/p/kernel/ (run on ppc64le) produces 166 changed files and sys/linux/dev_kvm.txt.const has every line changed.
Is the idea just to go through those I use in executor/common_kvm_ppc64.h and apply only those generated changes and drop the definitions from executor/common_kvm_ppc64.h?

All .const files are completely auto-generated.
It's strange and unexpected that "make extract" produces lots of changes for you (though I never run it on anything other than x86_64). Ideally it should produce no diff at all.
No, manually editing .const files is a bad idea, any changes will be overwritten on the next regenerate.
Please show the diff it produces, maybe that will give some hints.

I am pretty sure the diff is because I do not have cross tools (well, other than ARM) set up on that machine
-arches = 386, amd64, arm, arm64, mips64le, ppc64le, riscv64, s390x
-AT_FDCWD =<PHONE_NUMBER>3709551516, arm:riscv64:???
+arches = arm, arm64, ppc64le
+AT_FDCWD =<PHONE_NUMBER>3709551516, arm:???
``` and other like that - shorter list of arches.

If you don't have cross-compilers, "make extract" should have been failed. Didn't it?
Well, we have cross-compilers provided in a Docker image:
https://github.com/google/syzkaller/blob/master/docs/contributing.md#using-syz-env
But that's x86_64, if you have access to a x86_64 machine, that would be the simplest to use. Or you can see what packages we install in Makefile install_prerequisites, or in tools/docker/* and install these on your disto (if it's compatible, if not, well, it's Linux, users are supposed to be able to compile from source...).

It did fail. With your answers, I do not think I want to regenerate anything really.


Metadata not saving with calibrated files

They are now. Restored code that does this

While we're on the  subject, other tools like decorr should also save metadata

Completed


[DEV] Install aptly silently & retry publishing

Fix for my recent push which undercover new issues (lock when publishing debians is still a problem) + aptly need to be installed silently

!ci-nightly-me

!ci-build-me


Page hangs on load after being logged in.

Hello,
since I have updated to the latest version, the page depends always completely gone after login.
The error log from Apache 2 gives me unfortunately no errors.
If such a mistake already known?
Greetings
System:
Debian 8.3
Apache 2.4.10-10+deb8u4

Just when I posted the error, I had the idea to disable all plugins and activate in order.
The fault was in the plugin Codiad-ToDo-master.


back side stencil test

Thanks for your code, I don't know why we need to do a stencil test on the back side. Could you please answer it? Thank you very much.

The trick here is that we do not write anything to the color buffer for the first and second times. It doesn't matter if it is the frontside or the backside. The two combined make the parts you want to render have a non-zero stencil value. So the third rendering will only write colors on these parts.

Thank you, I see now, there is another problem, that is, when I get too close to the ground, the drawn surface will disappear, it seems to be after entering the shadow volume, what is the reason? Can it be solved

Yes. It's a limitation of this implementation. I often set the hight of the the volume as low as possible to avoid that.

Have you ever encountered such a problem, when drawing a relatively complex polygon, when viewed from the side, the rendering results do not meet the expectations。
for example, you can change the shape such as the below.
const shape = new Shape([new Vector2(600, 0), new Vector2(1000, 0), new Vector2(1000, 600), new Vector2(-1000, 600), new Vector2(-1000, 0),  new Vector2(-600, 0),  new Vector2(-600, 400)])
when i looking from top,everything is fine.

but switch to the side view, some wrong was happened.

you can set the colorWrite: true, The problem will be clearer。
Is there a solution to this problem？

Sorry for the late reply.
It seems like this approach has trouble rendering concave polygons. I have no idea how to fix it.
I'll do some research in my spare time, but I'm not sure if there is a solution.

Hi, I fixed this issue in the latest updates. Check it out if you're still interested.


Ability to use AWS session tokens for EKS integration

Instead of using normal api keys, use session tokens that expire

This issue was implemented by adding a new sessionToken field to the eks config.  When temporary credentials are generated via AssumeRole (see AWS docs here: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) and passed into Rancher it should be able to successfully create the cluster utilizing those temporary credentials.  It is a good idea to use credentials that last at least 15 minutes if not longer, as EKS can take some time to provision and the credentials expiring in the middle of cluster creation will prevent it from finishing.  When the credentials expire deletion of the cluster will not finish successfully (the cluster will be removed from rancher, but it will not delete the resource in AWS).

Tested with v2.1.2-rc3 and master. Created tokens using AWS sts as below.
aws sts get-session-token --serial-number arn:aws:iam::111111111:mfa/abcd--duration-seconds 900 --token-code 408379
{
"Credentials": {
"SecretAccessKey": "PuilSmiKYuMwGRpalNMmy1LhZnCiNkNgWWw/IPRQ",
"SessionToken": "FQoGZXIvYXdzEMb//////////wEaDBsH0xzWM6hAaMIQsyKvAcJoknMVgunuMpqhzGb/NIZAFlG+jrGFCr/SsOcI01flHN/OBL5//PcoIb5NqAWd75joTPEuFBu4+M4zO2610aX7iOM4yg7Ln23c/cGWsHhtxnLjq7xWub7e0sYr/LIOfktoms7NANELO7+jh6YRvw8Gn1hB0e16uyl7SbUfCYifMCvs6LjSTwGc8csu10jSBgPX9eErwWn49xqOQXzV5vURxe0SIOyWtbl7aaocs1Uolc/t3gU=",
"Expiration": "2018-11-01T21:07:37Z",
"AccessKeyId": "ASIAR2PTKWHFVQZWT7W5"
}
}
Created EKS cluster with these tokens successfully. Cluster was functional

I :heart: having the ability of use STS tokens. I think it is a good practice, enforces security and reduces the vector of attack.
Regarding https://github.com/rancher/rancher/issues/16005#issuecomment-430445925

When the credentials expire deletion of the cluster will not finish successfully (the cluster will be removed from rancher, but it will not delete the resource in AWS).

In the https://github.com/terraform-providers/terraform-provider-rancher2/issues/74 I comment a solution that might help in this case when using terraform, by allowing the provider to get new credentials and update them before deleting the cluster.
The main problem is allow rancher to delete this cluster, but not more. We could consider implement alternative ways of deleting the cluster. For example creating a new user + policy + pair of keys only to allow delete that specific cluster


Error:(23, 13) Failed to resolve: de.hdodenhof:circleimageview:2.0.0

Hi,
I am having failed to resolved error in my android studio project,
here's my build.gradle settings,
apply plugin: 'com.android.application'
android {
    compileSdkVersion 23
    buildToolsVersion '23.0.0'
    useLibrary 'org.apache.http.legacy'

    defaultConfig {
        applicationId "my.package.name.appname"
        minSdkVersion 9
        targetSdkVersion 23
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile files('src/main/Vuforia.jar')
    compile 'com.android.support:appcompat-v7:23.1.0'
    compile 'com.android.support:design:23.1.0'
    compile 'de.hdodenhof:circleimageview:2.0.0'
}

Is jcenter configured in your root build.gradle?
allprojects {
    repositories {
        jcenter()
    }
}

this is my project's  build.gradle,
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

other dependencies are installing correctly, only this one is not installing.

That's strange! Could you please try the following:

Replace jcenter() with mavenCentral() in the allprojects block
Change the CircleImageViewversion to 1.3.0 (while keeping jcenter())

Thanks!

Tried your suggestion, same problem.
project's build.gradle,
allprojects {
    repositories {
        mavenCentral()
    }

module's gradle
dependencies {
    compile files('src/main/Vuforia.jar')
    compile 'com.android.support:appcompat-v7:23.1.0'
    compile 'com.android.support:design:23.1.0'
    compile 'de.hdodenhof:circleimageview:1.3.0'

}

I met the same issue just now, and this is the solution, hope it helps:
allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
}

Having the same problem. Tried all the above but didn't help.

I'm not sure what's going on here, but to me it looks like problem with your local setups. All CircleImageView artifacts are available on Maven Central and Bintray / jCenter. A fallback(!) would be using jitpack.io with compile 'com.github.hdodenhof:CircleImageView:v2.0.0'.

Hi @hdodenhof  I have same problem.  I am using com.github.hdodenhof:CircleImageView:v2.0.0

I just had the same problem and came here after about 15minutes, the problem was fixed while still reading this solutions. I can only suspect the internet.

I am using this same library but i am getting this error Caused by: java.lang.ClassNotFoundException: Didn't find class "de.hdodenhof.circleimageview.CircleImageView". It was working perfectly but all of a sudden i dont know what happened it is not working. It is compiling properly but during run it is crashing.   Pls help.
Thanks in advance.

@kamalsint Your problem is unrelated to this issue. Please create a new one and provide more details about your setup.

I was getting this error "Failed to resolve: de.hdodenhof:circleimageview:2.0.0"
Problem was in my internet. I have to use proxy for internet in my college.....and when I disabled the proxy.....guess what, problem solved ! :)

Same problem. Tried all the above solutinos but did not work.

Same problem. Tried all the above solutions but did not work.

Go to Files-->Settings--> Gradle
Select "Use default gradle wrapper(recommended)
AND UNCHECK "Offline work" Check box

Go to Files-->Settings--> Gradle
Select "Use default gradle wrapper(recommended)
AND UNCHECK "Offline work" Check box

Same problem. Tried all the above solutions but did not work. Android Studio version is 2.2 Once I guess someting was wrong to my internet, but when I tried the address https://jcenter.bintray.com in my browser,   I found it was fluent. So who can help me?

thx ,it helps me.

it's works, 1.5.0
compile 'com.github.ksoichiro:android-observablescrollview:1.5.0'

Closing this as it's not an issue with this lib but some local hickup.

allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
}
its working thanks for help

Please kindly check if your studio is in Offline mode or not if yes then disable Offline mode and then try again.
Thanks

I had the same problem while repositories block in project level build.gradle was including the jitpack.io . I just fixed the issue by setting up a vpn and every thing woks fine. I hope it helps!


英語版・繁体字版の微修正

改善詳細 / Details of Improvement

英語版と繁体字版の微修正をお願いします。

スクリーンショット / Screenshot

期待する見せ方・挙動 / Expected behavior

xxxx(できるだけ簡潔に/as concise as possible)

動作環境・ブラウザ / Environment

macOS / Windows / Linux / iOS / Android
Chrome / Safari / Firefox / Edge / Internet Explorer

// by Ayane Ish

About this site

still has the Tokyo version on the top text box): please change to below,

This website was opened by volunteers of Code for Okinawa in association with the Okinawa Prefectural Government to provide the latest information on the novel coronavirus disease (COVID-19).
By conveying official information of the Okinawa Prefectural Government and objective data in an easy-to-understand way, this site aims to allow Okinawa residents, companies with offices in Okinawa, and visitors to Okinawa to grasp the current situation and take measures and precautions accordingly.
It uses an open source licence that permits copying and redistribution, and is based on the Tokyo Metropolitan Government COVID-19 Task Force website.
// by Ayane Ish

修正した


Is there a way to code an anticheat function into Psych Engine?

Describe your problem here.
I want to make a song with a very unforgiving modchart, by adding a health drain, noscroll (as in no notes show up) and nine keys* all at the same time, but I feel like people will bypass this by enabling botplay or opening the chart editor.
In order to make the modchart more unforgiving, I'd like to run a script if you press the 7 key or enable botplay, then it redirects you to Rick Astley's Never Gonna Give You Up. Is there a way to check if botplay is enabled, and is there also a way to open external links in Psych Engine merely by using Lua?
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
*no, I didn't steal the Shaggy Source code. I found a Lua script which helps with multikeys.

function onCreatePost()
    setProperty('debugKeysChart', null);
end

function onUpdate()
    if getPropertyFromClass('flixel.FlxG', 'keys.justPressed.SEVEN') then
        (your code here)

    if botPlay then
        (your code here)
    end
end

Im afraid you forgot an end in your code...
function onCreatePost()
    setProperty('debugKeysChart', null);
end

function onUpdate()
    if getPropertyFromClass('flixel.FlxG', 'keys.justPressed.SEVEN') then
        --(your code here)
   end-- forgot this lol
    if botPlay then
        --(your code here)
    end
end

I haven't found a way to open links yet...

I haven't found a way to open links yet...

I think you can do so with HScript but idk if it works

I haven't found a way to open links yet...

os.execute("start [Insert link here]")

I haven't found a way to open links yet...

os.execute("start [Insert link here]")

They brought back the os library?

I haven't found a way to open links yet...

os.execute("start [Insert link here]")

They brought back the os library?

I think that's just a general Lua function....

I haven't found a way to open links yet...

os.execute("start [Insert link here]")

They brought back the os library?

I think that's just a general Lua function....

It is but I thought they removed it for security reasons...

function onCreatePost()
    addHaxeLibrary("CoolUtil")
    setProperty("debugKeysChart", null);
    if botPlay then
        endSong()
        runHaxeCode[[
            CoolUtil.browserLoad('https://www.youtube.com/watch?v=dQw4w9WgXcQ');
        ]]
    end
end

function onUpdate()
    if getPropertyFromClass('flixel.FlxG', 'keys.justPressed.SEVEN') then
        endSong()
        runHaxeCode[[
            CoolUtil.browserLoad('https://www.youtube.com/watch?v=dQw4w9WgXcQ');
        ]]
    end
end


enforce node.js version

fixes https://github.com/elixirscript/elixirscript/issues/401.
I am not sure what the minimum node.js version needs to be, async functions got added in Node 8, perhaps it has to be Node 8?

8.0.0 is a good place to start, but I do think async/await was added sometime in the 7 versions

What's here should be a good start so I'll merge this

It would require someone discovering the lowest working version.  But to be on the safe side, taking the current recommended version might be good (8.5.0) ? If things get added in the future, we dont want to backtest on every possible nodejs between the engines node and the lastest version.


[Service Bus] Fix ServiceBusProcessorClient problems related to message processor start / stop / restart / close

ServiceBusProcessorClient can call start / stop repeatedly.
Because ServiceBusReceiverAsyncClient changes receiveMessages() to allow only one subscriber, the processor client needs start / stop / start cycle needs to have a single call of ServiceBusReceiverAsyncClient.receiveMessages.

After talking with Srikanta, only part of this PR is required. Close it here. He will create a PR for that part.


[BEAM-2939, BEAM-9458] Add deduplication transform for SplittableDoFns

This enables migrating the remaining UnboundedSources to use the UnboundedSoure SDF wrapper when using the portability framework.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

R: @apilloud @amaliujia


CRAN: remove legacy S macros PROBLEM, MESSAGE, WARN , ERROR etc

from CRAN, 2021-08-18: that is
GLIDE Hmisc MALDIrppa RGtk2 RPostgreSQL TwoPhaseInd bqtl cairoDevice
deSolve gdmp gstat ibdreg ifultools lasso2 lwgeom maps nimble rootSolve
These macros were defined last millennium in R_ext/RS.h to ease porting
of code from S but that has not been relevant for many years and they do
pollute the namespace.  The plan is to phase them out in favour of
direct calls to Rf_error and Rf_warning.  The first phase will be to
make the declarations in R_ext/RS.h opt-in and it is planned to do this
ca Oct 8.
So please migrate your calls within the next 6 weeks.  If that is not
possible, arrange to define R_LEGACY_S_DEFS=1 in some header or in
src/Makevars* to opt in.
To help with testing the migration, defining R_LEGACY_S_DEFS=0 will hide
the declarations in current R-devel.
Please check that your code includes <R.h> or <R_ext/Error.h> and not
just <R_ext/RS.h> so Rf_error and Rf_warning are sure to be declared.

Fixed by PR #1150


cabal-src fails to install; Not in scope: ‘withCheckedProcess’

Was working on reproing the wai doctest failures when I ran into this:
Max@maximilians-mbp ~/D/C/y/wai> cabal install hspec doctest HTTP cabal-meta cabal-src
Resolving dependencies...
Configuring cabal-src-0.2.5...
Building cabal-src-0.2.5...
Failed to install cabal-src-0.2.5
Build log ( /Users/Max/.cabal/logs/cabal-src-0.2.5.log ):
Configuring cabal-src-0.2.5...
Building cabal-src-0.2.5...
Preprocessing executable 'cabal-src-install' for cabal-src-0.2.5...
[1 of 1] Compiling Main             ( cabal-src-install.hs, dist/build/cabal-src-install/cabal-src-install-tmp/Main.o )
Linking dist/build/cabal-src-install/cabal-src-install ...
Preprocessing executable 'mega-sdist' for cabal-src-0.2.5...
[1 of 1] Compiling Main             ( mega-sdist.hs, dist/build/mega-sdist/mega-sdist-tmp/Main.o )
Linking dist/build/mega-sdist/mega-sdist ...
Preprocessing executable 'hackage-docs' for cabal-src-0.2.5...
[1 of 1] Compiling Main             ( hackage-docs.hs, dist/build/hackage-docs/hackage-docs-tmp/Main.o )

hackage-docs.hs:123:5: Not in scope: ‘withCheckedProcess’
cabal: Error: some packages failed to install:
cabal-src-0.2.5 failed during the building phase. The exception was:
ExitFailure 1

Version info:
Max@maximilians-mbp ~/D/C/y/wai> ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.8.3

Max@maximilians-mbp ~/D/C/y/wai> cabal --version
cabal-install version <IP_ADDRESS>
using version <IP_ADDRESS> of the Cabal library

OS: OS X 10.10.2 (Yosemite)

Couldn't find this function in FPComplete's Hoogle or Google for some reason. Based on a Github search though, I'm guessing it means to use the function from streaming-commons https://hackage.haskell.org/package/streaming-commons-<IP_ADDRESS>/docs/Data-Streaming-Process.html


fixup wiki + scratchpad nomenclature

https://bugzilla.mozilla.org/show_bug.cgi?id=1565380

https://bugzilla.mozilla.org/show_bug.cgi?id=1519103 ... FF72+

@earthlng , do you want to fixup the information in your wiki page: that in FF72+ the scratchpad no longer exists and to use the multi-line editor mode in the console
I don't think we need to change anything re our scratchpad dir/names: just the wiki

I think I'm just gonna rip it out because that's how we do things around here apparently.

updated 1.4-Troubleshooting and 3.1-Resetting-Inactive-Prefs-[Scripts]


CPython 3.13 warns on FutureRef._evaluate/typing._eval_type not passing type_params

Initial Checks

[X] I have searched GitHub for a duplicate issue and I'm sure this is something new
[X] I have searched Google & StackOverflow for a solution and couldn't find anything
[X] I have read and followed the docs and still think this is a bug
[X] I am confident that the issue is with pydantic (not my code, or another library in the ecosystem like FastAPI or mypy)

Description
See upstream pull request https://github.com/python/cpython/pull/118695
And discussion: https://github.com/python/cpython/issues/118418
The current call pattern will be disallowed starting in CPython 3.15 based on the warning.
Example Code
No response
Python, Pydantic & OS Version
Python 3.13

Affected Components

[ ] Compatibility between releases
[ ] Data validation/parsing
[ ] Data serialization - .model_dump() and .model_dump_json()
[ ] JSON Schema
[ ] Dataclasses
[ ] Model Config
[ ] Field Types - adding or changing a particular data type
[ ] Function validation decorator
[ ] Generic Models
[ ] Other Model behaviour - model_construct(), pickling, private attributes, ORM mode
[ ] Plugins and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.

@sydney-runkle FYI, semi related to #9607

Note that this can be reproduced with:
$ gh repo clone pydantic/pydantic
$ cd pydantic
$ python3.13 -m venv _e
$ . _e/bin/activate
(_e) $ UNSAFE_PYO3_SKIP_VERSION_CHECK=1 pip install -e .
(_e) $ pip install cloudpickle coverage[toml] dirty-equals eval-type-backport pytest pytest-mock pytest-pretty pytest-examples faker pytest-benchmark pytest-codspeed packaging
(_e) $ python -m pytest

==================================================================================================== ERRORS ====================================================================================================
________________________________________________________________________ ERROR collecting tests/benchmarks/test_discriminated_unions.py ________________________________________________________________________
tests/benchmarks/test_discriminated_unions.py:11: in <module>
    class NestedState(BaseModel):
pydantic/_internal/_model_construction.py:200: in __new__
    set_model_fields(cls, bases, config_wrapper, types_namespace)
pydantic/_internal/_model_construction.py:469: in set_model_fields
    fields, class_vars = collect_model_fields(cls, bases, config_wrapper, types_namespace, typevars_map=typevars_map)
pydantic/_internal/_fields.py:132: in collect_model_fields
    type_hints = get_cls_type_hints_lenient(cls, types_namespace)
pydantic/_internal/_typing_extra.py:231: in get_cls_type_hints_lenient
    hints[name] = eval_type_lenient(value, globalns, localns)
pydantic/_internal/_typing_extra.py:243: in eval_type_lenient
    return eval_type_backport(value, globalns, localns)
pydantic/_internal/_typing_extra.py:259: in eval_type_backport
    return typing._eval_type(  # type: ignore
/usr/lib64/python3.13/typing.py:470: in _eval_type
    _deprecation_warning_for_no_type_params_passed("typing._eval_type")
/usr/lib64/python3.13/typing.py:450: in _deprecation_warning_for_no_type_params_passed
    warnings.warn(depr_message, category=DeprecationWarning, stacklevel=3)
E   DeprecationWarning: Failing to pass a value to the 'type_params' parameter of 'typing._eval_type' is deprecated, as it leads to incorrect behaviour when calling typing._eval_type on a stringified annotation that references a PEP 695 type parameter. It will be disallowed in Python 3.15.
[…]
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 17 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Results (2.24s):
        17 errors

Note also that https://github.com/pydantic/pydantic/issues/9613#issuecomment-2170428152, above, reproduces this with the latest Pydantic v2, so this is not only a Pydantic v1 issue.

Are you sure you mean V1? The errors seem to relate to PyO3 which is only used with V2.

Anything calling typing._eval_type or typing._evaluate will throw these deprecation warnings i believe so maybe both versions?

yup, makes sense. Ideally we should find a way to remove their use, at least from V2.
In V1 we can do something hackier.

@vfazio,
Are you able to repro this on main? Do we need to leave this open as we look to explicitly support 3.13 for v2?

@vfazio,
Are you able to repro this on main? Do we need to leave this open as we look to explicitly support 3.13 for v2?

@sydney-runkle It looks like @musicinmybrain tested this on main https://github.com/pydantic/pydantic/issues/9613#issuecomment-2170428152. If you want me to reproduce, I can set some time aside maybe tomorrow.

All good, let's leave this open then, thanks @musicinmybrain!

@vfazio,
Any interest in helping us with another v1 patch here? I've got a draft PR up to start adding support for 3.13 explicitly in v2, but we'll have to do this _eval_type fix in the v1 code...

Hah, I thought we weren't making changes in v1 to accommodate 3.13. Is there no way to not call into v1 apis for this functionality?

Sigh... you and me both. I'll look into this in depth in the morning.

@vfazio,
Since this is such a small change, we're going to roll with it. Hopefully nothing else is needed in V1.

Closing given that I merged the above, this should be fixed in 2.8!


Add support for command HDEL

Add support for the HDEL command in DiceDB similar to the HDEL command in Redis. Please refer to the following commit in Redis to understand the implementation specifics - source.
Write unit and integration tests for the command referring to the tests written in the Redis codebase 7.2.5. For integration tests, you can refer to the tests folder. Note: they have used TCL for the test suite, and we need to port that to our way of writing integration tests using the relevant helper methods. Please refer to our tests directory.
For the command, benchmark the code and measure the time taken and memory allocs using benchmem and try to keep them to the bare minimum.

Please assign this to me

@HassanAarzoo you have another one assigned to you. I will keep this one open for someone else to pick. Thanks for understanding.

Hi Arpit, can i work on this issue?

@arpitbbhayani Yes its fine! Thank You

Hi @arpitbbhayani , can I work on this issue?

Hi @arpitbbhayani, I can take this up if no one's working on it yet?

Hi @arpitbbhayani, Please assign this issue to me.
I've addressed the issue in the PR #678

Hi Arpit, can i work on this issue?

Assigned

Hello @manishrw,
There has been no activity on this issue for the past 5 days.
It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.
We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.
Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.
Thanks again.

Hey @arpitbbhayani, the PR which adds command HDEL has already been merged.

Hey @arpitbbhayani  @lucifercr07! Does this need something more to be closed? We've already added the command HSCAN with tests.

Closing, merged as part of https://github.com/DiceDB/dice/issues/645


System limitation: 32GB RAM

Hello,
Is it possible to run IRFinder on a local computer with just 16 GB of RAM?
Thank you very much

Hello Maria,
the limiting step for the RAM is the mapping with STAR.
Using a different alignment software can be a solution to your problem, then you just have to give the BAM file as input of the "IRFinder BAM" command as described here.
Cheers,
Claudio

Dear Claudio,
Thank you, it worked just fine.
so actually, the RAM is just a requirement for the steps of building the reference (in my case I chose: "BuildRefProcess") and quantify IR from FASTQ, is that correct?.
Also, to continue with the Differential IR Analysis, I do not understand the Usage command line with DESeq2:
IRFinder Diff -g:Group1 ./Group1/Sample*/IRFinder-IR-nondir.txt -g:Group2 ./Group2/Sample*/IRFinder-IR-nondir.txt [-g:Group3 ...]
https://github.com/RitchieLabIGH/IRFinder/wiki/Differential-IR-Analysis-With-Replicates
how do I write the command line for Diff mode including more than one sample/replica on each group?
or is the input just one IRFinder output per group?
If so,
¿how do I generate one IRFinder output per group with the BAM mode?

Dear Maria,
yes, that's correct, all the steps that depends on STAR inherit it's RAM requirements.
For what concerns the Diff command, it's supposed to work with at least 3 samples for each group ( otherwise you can use the Audic and Clavier test ) .
The different samples for each group can be given as space separated list.
In bash the asterisk * is expanded to match the existing paths.
In the example, suppose to have three subdirectories for each group called Sample_1, Sample_2 and Sample_3, the command
IRFinder Diff -g:Group1 ./Group1/Sample*/IRFinder-IR-nondir.txt -g:Group2 ./Group2/Sample*/IRFinder-IR-nondir.txt

Is be interpreted as:
IRFinder Diff -g:Group1 ./Group1/Sample_1/IRFinder-IR-nondir.txt ./Group1/Sample_2/IRFinder-IR-nondir.txt ./Group1/Sample_3/IRFinder-IR-nondir.txt  -g:Group2 ./Group2/Sample_1/IRFinder-IR-nondir.txt ./Group2/Sample_2/IRFinder-IR-nondir.txt ./Group2/Sample_3/IRFinder-IR-nondir.txt

Cheers,
Claudio

Thank you very much Claudio!


DRILL-6825: Apply different hash algorithms to different data types

This PR introduces those main changes:

Add hash32(int index) method to the ValueVector interface.
To Interger data types, introduce https://gist.github.com/badboy/6267743 multiply-shift algorithm which was proved to be good at performance by the paper https://15721.courses.cs.cmu.edu/spring2019/papers/17-hashjoins/richter-vldb2015.pdf. Other data types like double,float,string still use the Murmur3 hash method.
Since HashJoin needs to solve implicit casting , it treats all numeric data types as double. So this PR only apply to HashAgg operator.

@Ben-Zvi could you review this PR ?

Since HashJoin needs to solve implicit casting,it treats all different numeric data types as double. So this PR only apply to HashAgg.

@weijietong can you add a detailed description of your work - the hash functions are a sensitive part of the execution, and possibly more people would like to look into the changes.

@Ben-Zvi I have added some description.

Adding the hash32() method to the ValueVector is useful; however picking up algorithms just based on a paper or being famous may not be good enough.  At my previous employer I evaluated many hash functions by actually running (stand alone) performance and distribution tests. One clear result shown back then is that murmur performed well on long strings, less good on shorter data.
How do the new hash functions in IntegerHashing compare with the existing one in HashHelper ?
 The Boost implementation of hash_combine looks "fishy" (e.g., some bits get more used than others) -- see some more critique at  https://stackoverflow.com/questions/35985960/c-why-is-boosthash-combine-the-best-way-to-combine-hash-values

Why can't the seed be given directly to the hash function instead of being "combined" later ?

Another good hash function used in the past (don't recall any name) worked with a map of 256 prime numbers, and the code (starting with the seed) was using each  input byte as an index to the map - rotate old value, XOR with new mapped value, continue ....
Now things may perform differently in Java.
Also - do you know of any open source hash functions we can just import instead of writing the code in Drill ?

The IntegerHashing's method was also used in ClickHouse for integer types(see: https://github.com/yandex/ClickHouse/blob/master/dbms/src/Common/HashTable/Hash.h   intHash32 method). CK does a fine hashing method choosing according to the data types and keys width which is valuable for us to learn. As you mentioned Murmur3Hash does not have a good performance at the shorter integer case.So it's better to use the IntegerHash at the integer keys case.
The Boost implementation's discussion you mentioned I had read before. But I think it's reasonable why Boost still keep the current implementation now as a base library.
The reason to keep seed away from the hash32 function and involve the Boost's hash_combine method is that I want to change the current hashing strategy later. I plan to change the hash32(hash32(hash32)) row iterate model to hash32() hash_combine hash32() hash_combine hash32() column combine model at the multi-keys case. The row iterate module has a data dependency and will hurt the cpu pipeline performance.
Other hashing methods I know can be found here: https://github.com/benalexau/hash-bench.  It's a java hashing method collection. The benchmark I run showed that https://github.com/OpenHFT/Zero-Allocation-Hashing/blob/master/src/main/java/net/openhft/hashing/LongHashFunction.java 's city_1_1 has a best performance at 32,64 bytes key width.
I also wonder whether we can do the join keys data type implication at the project node later. So the HashJoin and Exchange node can also benefit from this PR.

@Ben-Zvi  I have done a benchmark about IntegerHash and MurmurHash3_32. The result shows that IntegerHash has nearly 2 times performance than MurmurHash3_32.
HashBenchInteger.hashInteger  integerHash       N/A  avgt    5   3.987 ± 0.162  ns/op
HashBenchInteger.hashInteger   Murmur3_32       N/A  avgt    5   6.626 ± 0.085  ns/op
HashBenchInteger.hashLong     integerHash       N/A  avgt    5   4.903 ± 0.320  ns/op
HashBenchInteger.hashLong      Murmur3_32       N/A  avgt    5   8.525 ± 0.649  ns/op

I also run two sql queries comparison which are using IntegerHash and MurmurHash separately to the long data types. The queries are hashing hotspot:
Q1:
select c.c_custkey, count(*)
from dfs.`/tpch100/customer` c
group by c.c_custkey

Q2:
select c.c_custkey,c.c_nationkey, count(*)
from dfs.`/tpch100/customer` c
group by c.c_custkey,c.c_nationkey

The dataset is tpc-h scale 100.  The query result shows that :
To Q1:
IntegerHash has a 5% query performance improvement than MurmurHash3_32(IntegerHash: 14.029 sec, MurmurHash3_32: 14.870 sec ).
To Q2:
IntegerHash has a 16% query performance improvement than MurmurHash3_32(IntegerHash: 20.499 sec,MurmurHash3_32: 23.921 sec).
It is clear that the more integer datatype columns grouped by, the more query performance will be gained.

@Ben-Zvi  The hash code computation of HashAgg has been moved to HashAggTemplate. Your review advices have been applied. Please check, tks!

@weijietong - how about postponing this work to 1.17.0 ?  It is a change in a critical part of the engine, and we need to get a better understanding of the impact, and 1.16.0 is too close. (Also I am very busy with some 1.16 work now, and have no time to test myself).  In 1.17.0 the work can be extended to Hash-Join and exchanges to be more complete.

@Ben-Zvi agree with you. I have changed the issue to 1.17.0

@Ben-Zvi Do you have the time to go on this work ?

@weijietong that's the status of this PR?


FormData for each file

Hi,
I need to send additional data that is selected by the user... I have one select with many options (this options are folders created in a Database), so the user has to select one of this options in order to store the files that will be uploaded.
By default the select has selected the first option, so if the user doesn't select any another option, the files will be uploaded in the first option.
I tried using the following code:
var filesList = $('#fileupload').find('input:file').prop('files');
$('#fileupload').fileupload(
'option',
{
url: '/cargaMasiva.insert_files',
sequentialUploads: true,
formData: [{name:'opcionListadoCarpeta',value:$('#listadoCarpetas').val()},{name:'nuevaCarpeta',value:$('#nuevaCarpeta').val()}]
}
);
but it always sent the initial value of the select, even if i select another option...
Afterwards, i tried using the Callback Option fileuploadsend like this:
var filesList = $('#fileupload').find('input:file').prop('files');
$('#fileupload').fileupload(
'option',
{
url: '/cargaMasiva.insert_files',
sequentialUploads: true,
}
);
$('#fileupload').bind('fileuploadsend', function () {
'option',
{
url: '/cargaMasiva.insert_files',
formData: [{name:'opcionListadoCarpeta',value:$('#listadoCarpetas').val()},{name:'nuevaCarpeta',value:$('#nuevaCarpeta').val()}]
}
});
but in that case it doesn't send any data.
Finally, i tried with this:
var filesList = $('#fileupload').find('input:file').prop('files');
$('#fileupload').fileupload(
'option',
{
url: '/cargaMasiva.insert_files',
sequentialUploads: true,
}
);
$('#fileupload').fileupload('send', {files: filesList, formData:[{name:'opcionListadoCarpeta',value:$('#listadoCarpetas').val()},{name:'nuevaCarpeta',value:$('#nuevaCarpeta').val()}]});
but still I am not getting any data
Can you point out what I am doing wrong?
Thanks

check my post about sending data
https://github.com/blueimp/jQuery-File-Upload/issues/628#issuecomment-2542216


Move tests inside the package

This change will allow use to ship the tests with the package, a move
that would allow use to test molecule plugins reusing testing code
from molecule itself.
This does not mean that test requirements will be installed by default,
they are still installed as an extra.
Partial-Fix: #2228
Signed-off-by: Sorin Sbarnea<EMAIL_ADDRESS>Please include details of what it is, how to use it, how it's been tested
Please include an entry in the CHANGELOG.md if the change will impact users.
PR Type

Feature Pull Request

This does not mean that test requirements will be installed by default,
they are still installed as an extra.

:+1:


Live Demo lightning_mnist_tpu.ipynb on colab hanging

🐛 Bug

Run lightning_mnist_tpu.ipynb on colab

To Reproduce
Steps to reproduce the behavior:

Go to lightning_mnist_tpu.ipynb from https://pytorch-lightning.readthedocs.io/en/latest/tpu.html
Run
See screen gets stuck here

Environment
Colab pro

Duplicate of #2419


use dash instead of bash for inlined application-setup commands

Use dash instead of bash for inlined application-setup commands
Type of Change

[ ] New feature
[x] Bug fix
[ ] Documentation Update
[x] Refactoring
[ ] Hotfix
[ ] Security patch
[x] UI/UX improvement

Description
The setup scripts for both mybash & Chris's custom neovim setup use ANSI escapes to color text, but bash isn't posix compliant in the way that the echo command handles escapes. This change allows for proper presentation of the commands as they emit notifications without distracting escape sequences being emitted without being interpreted.
Testing
Very simple change, just verified that the commands run with the escape sequences being interpreted properly
Impact
Removes a lot of superfluous escape sequences and makes the command output more readable.
Checklist

[x] My code adheres to the coding and style guidelines of the project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no errors/warnings/merge conflicts.

Instead of doing that I think we should just move those scripts over to this repository and make them posix compliant if they aren't.

It's probably better that they stay where they are since they're definitely going to be changing. They're posix enough that they're designed to be run with dash anyway, hence the echo issues

@cartercanedy I don't see why we can't just move the install scripts to this repository like we have with dwm-titus and other dot files that Chris has made.

@cartercanedy I don't see why we can't just move the install scripts to this repository like we have with dwm-titus and other dot files that Chris has made.

I could probably get working on something like this.

I just took a look at the setup scripts in those repositories and it seems there are quite a lot of bashisms, I'm going to make a PR in a bit that will remove those bashisms and move the scripts over to this repository.

Considering that one of them is a bash config, it should be fine...

Considering that one of them is a bash config, it should be fine...

@cartercanedy Running the mybash-installer doesn't mean that you're on bash; it could mean that you're using zsh or another shell, if that's the case then having bashisms inside of a script will be bad and the script won't work properly. If you take a look at the PR I created, I linked several issues containing errors from the mybash script because the person running the script was not using the bash shell and could not install mybash through the script because it contained bashisms.

Considering that one of them is a bash config, it should be fine...

Running the mybash-installer doesn't have to mean you're on bash; it could mean that you're using zsh or another shell, if that's the case then having bashisms inside of a script that installs the mybash-configuration will be bad and the script won't work properly. If a person is indeed using zsh or some other shell that adheres to posix standards and does not support bashisms they will not be able to use the script to install bash and CTT's mybash config because it contained bashisms.

The setup script has no bashisms

@cartercanedy Also, Chris did say he wanted to eventually move everything over to this repository; so I think it should be fine.

The setup script for mybash* has no bashisms

The original script in CTT's repo does have bashisms

This warning is pay off the reason that I made the switch. Bash doesn't render escapes by default, but this is printed normally using dash or any other shell

The setup script for mybash* has no bashisms

The original script in CTT's repo does have bashisms

This warning is pay off the reason that I made the switch. Bash doesn't render escapes by default, which isn't posix compliant, but this is printed normally using dash or any other shell

I see. Could you give me opinions on #335 ?

Sorry for the inconvenience. We had a massive restructure of the codebase to improve future development. Because of this can you update your PR to the new structure. Thank you for your assistance and contribution.


[Help needed] How to define different sources for chromecast than for the normal player

Hello, i've been searching on this repo for some time but I still can't figure out how to set custom urls for chromecast.
I'm using a custom HLS method that can't work on chromecast so I want to define a normal mp4 url for the chromecast service to use when needed, instead of just not working.
Is it possible, and if so, how can I achieve this please ?
Thanks a lot !

Hello @leomelki,
I am not certain what the best course of action here is, but I can tell you this much:
In ChromecastTech.js, the sources are gathered from the videoJS player ( see line 91, this._playSource({ src: this.videojsPlayer.src() }, 0);, which in turn is fed into the Chrome Cast MediaInfo (line 156). This MediaInfo is then used to process a Load Request on lines 180 to 186. You cannot change the way it loads the source (unless you do a proper feature pull request to this repo and get it approved), but you can probably process a load request by your own.
I cannot give you the exact code right now, but a solution would be to introduce the cast API to your own sender application (load the cast framework), connect to the existing castSession, then create your own MediaInfo with a modified .mp4 source, then load it into the castSession similarly to how it's done here. For inspiration, check google's guide, specifically the Media Control part for loading in requests. This could probably achieve what you are asking for.
As far as I understand, the plugin does not currently support changing sources in any other way than changing them in the player, so you need to go about it this way. But I'm not an expert here and I have not tried doing this myself as I have not had the need to change an active source given to the cast device yet.

Ok, i'll try to override videojs methods to make this plugin think that another source is playing but if it doesnt work, i'll do as you said.
Thank you a lot !


Paper Fixes Before Friday

Need to change the title
Problem with reference not showing up
Need to add DATA section
Need to add RESULTS section

Question: should we break off the last section of "PLAN" into "DISCUSSION"?

I actually think in the final paper, explanation on why we simplified the model should stay with the model section. The discussion section is probably more for discussing the results we find. So, it's probably fine to leave everything in the PLAN section.
Also, I kinda want to keep a separate PLAN file just in case we want to refer back to it, especially since we will probably be updating all the other sections for the final paper.
Any other thought on it?

ok thats fine

I am adding some more details to data and have already fixed 1 & 2, do any of you guys have time to work on results? some specific explanations,findings so far, etc... Also, I think including some preliminary figures would be good (and would increase length of our paper lol). Thanks

also should I rename "plan" to "methods"? b/c the later in blank rn

oops *latter is

Also to do:
80 character limit to the tex files

Great work!
A few minor changes, maybe? The last section, discussion of challenges is centered?
Also seems like, we have duplicate inferences on data section, section 3.1.5 and 3.3.4. Section 3.3.4 probably should be deleted.
And were we gonna talk about bonferroni correction? the word is in the report but nothing is following it, in section 3.1.5.

Sry guys I won't be at the computer again tonight, someone else can take a
look?
On Nov 13, 2015 7:03 PM, "changsiyao"<EMAIL_ADDRESS>wrote:

Great work!
A few minor changes, maybe? The last section, discussion of challenges is
centered?
Also seems like, we have duplicate inferences on data section, section
3.1.5 and 3.3.4. Section 3.3.4 probably should be deleted.
And were we gonna talk about bonferroni correction? the word is in the
report but nothing is following it, in section 3.1.5.
—
Reply to this email directly or view it on GitHub
https://github.com/berkeley-stat159/project-theta/issues/47#issuecomment-156615537
.

closing good work


Implement the full Gospel Stdlib

Implement the Bag and Set modules of the Gospel Stdlib.
Define BagSet to factorise the implementations of Bag and Set.
bag and set are implemented as decreasing sorted lists where each element appears at most once, using the polymorphic comparison.
For bags, the list contains pairs, where snd x is the number of occurrences of fst x, with snd x > 0.
Rationale: obviously, the time complexity of these implementations is not ideal, but:

it is a purely functional implementation (so it can be used with QCheck-STM),
it is compatible with the polymorphic equality: Ortac uses OCaml's (=) to implement Gospel's (=), this ensures that sets and bags can be tested for equality in the generated code,
they are sorted in decreasing order so that the resulting order (according to the polymorphic comparison) on sets and bags is more natural.

Only Order.is_pre_order is not implemented, as it cannot be.

Just need an ocamlformat run


Allow hot reloading the config file.

I don't even know how this would need to be designed at the moment, but it is something we should do to allow hotplugging support.

In order to do this, device setup should be derived directly from config, without the concept of internal/external device.
Some fields in the config should be possible to change without a full reload of the device, for example, what command is used for the data, or the frequency of polling (basically, anything that isn't a part of the discovery message). Other fields will require republishing an amended discovery message, such as name, icon, measurement type, etc (most of the config actually).
I envision we'll need some lifecycle to a device, which will need to handle spawning a few goroutines that will listen on channels for signals to act on.


[Live Bidding] Preparation work

I've noticed that you're still using the v4. As (normally) the next version is the v4, I guess you can merge it on main.

Ok I'll PR a v4 merge then, thank you!


feat(withArrayValues): Add withArrayValues and zipArrayValues

Summary
This adds withArrayValues and zipArrayValues for mapping values from an array onto a stream.  In the case of withArrayValues, for each event, the stream provides the time component, and the array provides the value component.  Similarly for zipArrayValues, except it accepts a function to compute the value component from the array value and incoming event value.
Other changes

Run flow on the whole test dir.  It will only check files with @flow at the top, which for now, is only the new withArrayValues-test.js.  But, I like the idea of using unit tests also to check types.  Feedback welcome 😄

Note that to do this, I had to give flow visibility into the top-level node_modules folder, since lerna is hoisting common dependencies (such as mocha and @briancavalier/assert) to the top level.

Todo:

[ ] deprecate fromArray and fromIterable

👍

I really like having the tests type checked :+1:


Build webpage with relative path

Use case
Like configration in Vue
baseUrl(publicPath) attribute
If i set it to './'
I can get assets via relative path when i open index.html.

Proposal
Use a  js file to manage all configration.

@ame-yu Do I understand correctly that you would like to host a Flutter web app on a path other than the root / path, such as /foo/bar/index.html and have an ability to specify where to fetch the assets from?

I may be missing something but it seems that if you simply remove the base tag the Flutter Web app will work relative to the index.html just fine.  Is there a problem with this?  Why isn't this the default?


Merge documentation branch

Formatted all docstrings to align with NumPy standard.  Added configuration settings for Sphinx and ReadTheDocs, and built HTML files for API documentation.

@rosecers @ortengren
Should we have the documentation update every time we push to main through a github action? Something like https://stackoverflow.com/questions/57989790/using-github-actions-to-publish-documentation?rq=2

Yes

On Jun 3, 2024, at 11:36 AM, arthur-lin1027 @.***> wrote:
@rosecers https://github.com/rosecers @ortengren https://github.com/ortengren
Should we have the documentation update every time we push to main through a github action? Something like https://stackoverflow.com/questions/57989790/using-github-actions-to-publish-documentation?rq=2
—
Reply to this email directly, view it on GitHub https://github.com/cersonsky-lab/AniSOAP/pull/34#issuecomment-2145661018, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALKVP3XZYQSRRIOJLYSSFOTZFSLR7AVCNFSM6AAAAABEELWIC6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBVGY3DCMBRHA.
You are receiving this because you were mentioned.

I can look into RTD webhooks and try to get that working.

I think it looks great. @rosecers should we leave the github action for automatically updating the readthedocs for a later PR?

That should be fine, although it may be possible to setup outside of a PR

It should be done through the readthedocs itself
https://stackoverflow.com/questions/74950824/automatic-doc-build-on-readthedocs-org-on-every-new-commit


💄 Choose proper fonts for all 3 OSes

Thanks for the great tool.
This PR tries to add proper default fonts for Windows and Linux. The font list is based on what VSCode chooses.
(I believe it is really rare for a terminal to use Courier as the default font.)

Great!!! I'm not sure the app always works in windows/linux, but I guess with a compatible version of chrome it should.
Anyways thanks so much for the PR, will merge and ship


Fixed uninitialised variable in x11 null cursor creation

Fully initialised color var.
Clarified intent a little with comments/layout.

Probably low priority.
Though the colour was being read, it wasn't actually used for anything relevant, so this is really just to clean up the valgrind output.

Thanks!


Feature Request: Consistent Max Line Length

As a new user, I wasn't convinced that max_line_length was working. It turns out that the global value is only passed to pycodestyle. Maybe there's a way to "interpret" that to also mean things like -C0301 for pylint to remove the redundant messages?

We would be happy to receive a PR with this change if you have time to look into it.

These kind of issues (pylint conflicts / redundant msgs) could be a pain to maintain in the general case:
For example, if you have both pylint and flake8-docstrings, you should also consider   "-D101",  "-D103",. If you have pep8-naming, also "-N805", "-N801".... etc. same for isort, black, etc.
Special attention must be paid, as the actual "report filtering" only makes sense when the conflicting plugin pairs are both installed: You would only want to ignore a report IFF its already been reported by another code.
Maybe we could make an exception for mandatory flake8 requirements: mccabe,pycodestyle,pyflakes,
The mechanichs for the pylint plugin could be applied here. Starting point for the PR would be something like this:
#flakeheaven/plugins/_pylint.py
...

KNOWN_DUPES = {
    "C0301": ("pycodestyle", "E501"),
    ...
}

def is_active(plugin_name, plugin_code) -> bool:
    """Return True if the plugin code is activated"""
    ...
...
class Reporter(BaseReporter):
    ...
    def handle_message(self, msg):
        duplicate_plugin, duplicate_code = KNOWN_DUPES.get(msg.msg_id, (None, None))
        if is_active(duplicate_plugin, duplicate_code):
            return
        self.errors.append(dict(
            row=msg.line,
            col=msg.column,
            text='{} {} ({})'.format(msg.msg_id, msg.msg or '', msg.symbol),
            code=msg.msg_id,
        ))
    ...
...

Is there a workaround to explicitly pass the max-line-length to plugins currently?
I have a plugin with:
def __init__(self, tree, lines, max_line_length, filename):

and it gets 90 instead of the configured max_line_length.

max-line-length forwarded to pylint plugin, avaliable since 3.0.0

@iwanb see the pylint plugin implementation here. docs here


Add additional Juice animation

Cleaner juice animation for tilts side to side, or standing up (fizz or particle effects near the top)

I will work on this issue.

Added a fizzy option for drinks


Update Puppet Providers Whatsapp

Updates Puppet Providers - Whatsapp section in references
References issue #890

LGTM

@Rohitesh-Kumar-Jain

@proudofsimin

@proudofsimin could pls review once more ?

@proudofsimin

Did you add the reference to the page I asked before? Where is the link?

@proudofsimin Have added contents from #1106 . Please let me know if this is okay.

@lijiarui @proudofsimin Have made the changes you suggested.

I would like to invite @univerone to review this issue if she has time since she is the creator of this puppet. ：）

Please change the title and sidebar_label from Whatsapp to WhatsApp

It seems your commit didn't fix this.

ping @lijiarui


fix: always evaluate .status.Image after the reconcile

This patch fixes several bugs inside the code that we don't consider in the reconciled image. This could lead to the image specified in the ImageCatalog not being used or, even worse, having two different images used between the jobs and pods.
It also impacts the plugin status.
Related #4387
Note for the reviewers:
It also affects checkPodImageIsOutdated. This is probably a high-priority fix.

/test limit=local