ctx._chain.runtime undefined when processing new incoming block

Describe the bug
When processing the newest block, ctx._chain.runtime and ctx._chain.prevRuntime become undefined which will make decoding events (e.isV1020 and e.asV1020) fail by TypeError: Cannot read properties of undefined (reading 'getEventTypeHash').
To Reproduce

Use https://github.com/subsquid/squid-sdk/tree/master/test/balances

Update https://github.com/subsquid/squid-sdk/blob/master/test/balances/src/processor.ts#L19 to the latest block to reduce wait time
Add console.log(ctx) around https://github.com/subsquid/squid-sdk/blob/master/test/balances/src/processor.ts#L23
make up
make typegen
make codegen
npm run build
make migrate

Run the squid by make process

After a few minutes, the squid started following the new incoming block. You shall see
16:36:40 INFO  sqd:processor 19041243 / 19041243, rate: 2 blocks/sec, mapping: 272 blocks/sec, 10755 items/sec, eta: 0s
{
  _chain: Chain {
    getRpc: [Function (anonymous)],
    blockRange: { from: 19041244, to: 19041244 },
    runtime: undefined,
    prevRuntime: undefined
  },
  log: Logger {
    sink: [Function: prettyStderrSink],
    ns: 'sqd:processor:mapping',
    attributes: undefined
  },
  store: Store { em: [Function (anonymous)], changes: undefined },
  blocks: [
    Block {
      extrinsics: [],
      calls: [],
      events: [Array],
      id: '0019041244-d44ac',
      header: [Object]
    }
  ],
  isHead: false
}
16:36:44 FATAL sqd:processor TypeError: Cannot read properties of undefined (reading 'getEventTypeHash')
                                 at get isV1020 [as isV1020] (/Users/jasl/tmp/balances/lib/types/events.js:18:29)
                                 at /Users/jasl/tmp/balances/lib/processor.js:51:23
                                 at SubstrateBatchProcessor.processBatch (/Users/jasl/tmp/balances/node_modules/@subsquid/substrate-processor/lib/processor.js:264:16)
                                 at Object.process (/Users/jasl/tmp/balances/node_modules/@subsquid/substrate-processor/lib/processor.js:293:41)
                                 at /Users/jasl/tmp/balances/node_modules/@subsquid/util-internal-processor-tools/lib/runner.js:172:40
                                 at /Users/jasl/tmp/balances/node_modules/@subsquid/typeorm-store/lib/database.js:109:52
                                 at TypeormDatabase.performUpdates (/Users/jasl/tmp/balances/node_modules/@subsquid/typeorm-store/lib/database.js:139:19)
                                 at /Users/jasl/tmp/balances/node_modules/@subsquid/typeorm-store/lib/database.js:109:28
                                 at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                                 at async EntityManager.transaction (/Users/jasl/tmp/balances/node_modules/typeorm/entity-manager/EntityManager.js:73:28)

Expected behavior
runtime and prevRuntime should never undefined

@eldargab can you make a release for the patch?

I've made a release, but note, that until it is not tagged as latest - it's even not an alpha...

Thank you, I've updated and works fine.
I just saw ArrowSquid is out and I wanna try on a new early-stage project so I can avoid migration when ArrowSquid is officially released.
Do you have ETA for the official release?

Working hard to complete in a couple of weeks.


"Filter content" won't detect text i paste in

If i paste in text in the filter it won't work. I need to type on the keyboard to get it to work.

I also think the Filter tooltip should go away when i start typing.
Authentic Theme beta 19.20-beta5

Nice points. I'll fix that. 🙂

Done.
Thank you very much for being picky! :heart:


Remove Results.js

Purpose
Result is a class we use to format results from benefit calculations. @knod has opined we probably don't need it anymore and we can probably just have benefit calculations return numbers.
Note: this is a pure refactor. Probably not the highest priority for now.
Implementation
To make this happen, we just need to track down all the imports of Result and rewrite the code that uses it to work without the Result file.

A little bit more than that is required. We also need to track down the places that use Result and have them do something else instead. Those are things that make the results tables and things that display status in the right-hand alert bar. What I suggest is that we have benefit functions return values, and have a helper function that determines what to show for the alerts based off of those returned values.
This also requires us to be able to calculate both previous and future benefit values, which requires us to use 'current' and 'future' differently in the benefit calculations. And all that ties into having a controlled client object. So. We're getting there.


feat: func type

Add a new type that contains all functions, regardless of the number of
paramaters and the return type. It can referenced by using
std.`func` or <func> keyword.
This is needed for internal implementation.

Perhaps the syntax file needs to be updated?
I believe func was excluded from the keywords in #2840.


Unable to use KDF with Nitrokey 3A Mini and v1.4.0 firmware

Thanks a lot for such a nice stack! BTW I was just preparing our Nitrokey 3A Mini keys using following guide:
Using following environment

Fedora 38 container
gpg (GnuPG) 2.4.0
libgcrypt 1.10.2-unknown

Install nitropy toolkit
  $ python3.10 -m venv venv
  $ source venv/bin/activate
  $ pip install -U pip
  $ pip install pipx
  $ pipx install nitropy
  $ pipx list
  ...
  pynitrokey 0.4.36, installed using Python 3.10.6

Upgrade firmware to v1.4.0
 $ nitropy nk3 update --version v1.4.0
 $ nitropy nk3 status
 ...
 Firmware version:   v1.4.0

Perform factory reset and enable KDF-DO
 $ gpg --card-edit
 gpg/card> admin
 gpg/card> factory-reset
 gpg/card> kdf-setup

(default admin pin is 12345678)
gpg/card> list
...
KDF setting ......: on

Prepare PINs

Gather some entropy from nk3

  $ nitropy nk3 rng --length 4096 | sudo tee /dev/random | hexdump -C

Generate nk3 PIN, Admin PIN and Reset PIN

  $ for k in $(seq 1 3); do gpg --gen-random --armor 0 60; sleep 60; done

Prepare key
  gpg/card> key-attr
  Set all to ECC / Curve 25519

  gpg/card> forcesig

  gpg/card> name
  Cardholder's surname: Build System Key 3.
  Cardholder's given name: OpenWrt

  gpg/card> url
  URL to retrieve public key: https://git.openwrt.org/?p=keyring.git;a=blob_plain;f=gpg/CAE438715492B555.asc;hb=HEAD

  gpg/card> passwd
  1 - change PIN
  4 - set the Reset Code
  3 - change Admin PIN

Then when using keytocard admin password doesn't work anymore. I've tried the same procedure with Yubikey 5C Nano and it worked fine. As I don't have a spare nk3 (and don't keep GPG master key), I'm not able to debug this further now, going to order some spare keys and would provide more details in the upcoming days hopefully.

Hi, thanks for the report.
Admin PINs must be larger than 8 bytes (characters). After some testing it appears that the functionality works properly with PINs larger than 8 bytes, but if you change the admin PIN to one less than 8 bytes, GPG will perform the change, but then refuses to check it even if the device would not actually reject it.
Did you try with an admin PIN that is long enough?

After more investigation I did find a bug that you may have triggered, fixed in https://github.com/Nitrokey/opcard-rs/pull/158
What is surprising is that it should have affected the user pin, not the admin pin.
I was not able to reproduce the specific issue you encountered without using an admin PIN longer than 8 bytes though.

Note that your command gives a 3 80 bytes ascii strings.

Thanks, noted, I didn't counted that, correct :)

Are you using this

I'm using the output directly, copy&pasting it.

Well, I'll reproduce it once I've spare nk3, but IIRC then it was a PIN after keytocard command, so probably admin PIN?

It depends. Depending on the configuration gpg-agent can cache the admin PIN for a while, but it should not require the user PIN.
Does using the Admin pin for operations like name work?
Is it an issue that has happened every time you tried, or have you tried only once?

Just retested on Nitrokey 3 AM 1.4.0, gpg (GnuPG) 2.4.0, and it works for me.
@ynezz Can you verify please if there were any different steps taken in the log?
gpg.txt

Thanks a lot for double checking. I've received the spare keys and checked the procedure again, working fine this time. Sorry for the noise.


Blur background for DimensionIndicator

Add a blur background behind DimensionIndicator so thats its easier to read when overlapping content.

Just some Gray background with transparency?


Allow custom middleware to be registered

Copy of #172 with some extra changes. Adds support for customising middleware.

Thanks @Larsklopstra!


Sync charts have a shift wth the selection

Codepen
https://codesandbox.io/s/2pny3vvy8r
Explanation

When the y-axis legends of two sync charts are not the same size, it could be a shift between the selected point of the two charts. I think it's because sync selections are calculated compared to the distance from the left and not by timestamp sync

Yes, exactly. You're right.
I need to document it on the website.
So, if you have a huge difference in yaxis labels size, you should fix the yaxis labels width with
yaxis: {
  labels: {
    minWidth: 100
  }
}

for both charts

thanks for the workaround ! it works
Le ven. 4 janv. 2019 à 11:55, Juned Chhipa<EMAIL_ADDRESS>a
écrit :

Yes, exactly. You're right.
I need to document it on the website.
So, if you have a huge difference in yaxis labels size, you should fix the
yaxis labels width with
yaxis: {
labels: {
minWidth: 100
}
}
for both charts
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/apexcharts/apexcharts.js/issues/252#issuecomment-451413153,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AsBzZOKXZkaPos8Ny6uHEtTVgwaBRhMAks5u_zMJgaJpZM4ZpcYl
.


plotly requires ipywidgets.  But this isn't captured in dependencies.  Perhaps add to requirements?

poliastro install on Mac OS X fails tests.  Traced to plotly depending upon FigureWidget.  This is found in ipywidgets.  Which doesn't get installed during poliastro install.  Can this be fixed simply by adding ipywidgets to requirements.txt?
Solution:
My solution was to use pip to manually install ipywidgets.
After that I still had to update matplotlibrc to use TKAgg since python isn't installed as a framework on my Mac.
With those two changes I was able to pass the tests. (With 55 warnings.  Mostly about date conversions.)

I have been bitten by this today while testing the new beta version. Working on a fix.


Vitality and swiftness enchant applies to everyone

As the title says both of those enchants applies to everyone on the server because my friend said that he got both enchant buffs but he didn't have the enchants on his armor only mine has them.

wut 0_0

Okay my armor has vitality and swiftness on it when I put it on it the effects of the enchants apply to him and myself.

Mkay well there is a build being made atm

http://puu.sh/hS1P6.jar

Test it well my good sir :D

That was quick.

You bet :D

Hey sam just a quick question do you use HxC-Blocks?

Nope, I only use HxC enchants, why do you ask?

I'm about to Clean it up fix a bug and Make it more balanced :D by making it require RF temporarily (until magic energy is ready) :D

I see, Also Zed it seems like that your update did not fix it.

He has to die to reset the player attributes stored on the player data (or delete player data)

Or option 3 modify the player data and remove the buffs

I'm going to slay him to fix it

Have fun xD

uhhh that didn't work.

:I I'll take another look but I got a new enchant coming soon :D Divine Intervention if health is less than a certain amount and player takes lethal damage they get tp'd to their spawn (bed usually), the enchant gets removed, and the damage is cancelled (or absorbed by armour configurable)

It seems like every enchant applies to everybody not just those two, I just tried to kill him and the regen enchant shot him back to full life. I think this bug is a lot bigger then what I realize. Also that sounds like an awesome enchant.

I need to do a little bit of investigation I think I have more sleep drunk code

http://puu.sh/hS7lg.jpg
Also you now won't need to kill him to clear it
http://puu.sh/hS7rv.jar


EC2 Custom Retry Delays

ModifyNetworkInterfaceAttribute and AssignPrivateIpAddresses both require custom retry configuration: aws/aws-sdk-go@a25e309
internal id: 176722183

I spoke to the Smithy team about this.  Here is their take on this customization:

We already provide this customization in other SDKs. For consistency I think we should provide it in Swift as well if possible even though it is not ideal. Im not sure we have a great way to model this in smithy currently.

https://github.com/awslabs/smithy-rs/issues/132
Rust team previously determined that this customization is superseded by Smithy standard retry.  Further, I could find no evidence that any SDK other than Go has implemented it.
@smivij Closing this ticket accordingly.


Fix typos in readme.markdown

"G3log and G2log is used world wide in commercial products as well as hobby projects."
-> "G3log and G2log are used worldwide in commercial products as well as hobby projects."
Fix #165

Ref: https://github.com/KjellKod/g3log/issues/165
Perfect. Thanks :)
👍


Title doesn't update when navigating from post to home page

To recreate, click on a post, then click on the site logo. The title of the page remains the previous post's title.

It got fixed :)


Cannot add or edit Custom Metadata Type picklist field values when installed via Unlocked Package

Summary
Not sure whether this is a bug or a feature request, but it is not possible to add or edit Custom Metadata Type Picklist field values when it is part of an Unlocked Package. However, you are able to edit picklist field values on any standard and custom objects that are part of Unlocked Packages. See screenshots below.
Steps To Reproduce:
Repository to reproduce: dreamhouse-lwc

Create a new folder cmt-picklist-field, add a Custom Metadata Type, e.g. Test_CMT_Object__mdt, a picklist field picklist_field_1__c for this CMT, and a picklist field picklist_field_1__c for Account
Create a new package using sfdx force:package:beta:create -n cmt-picklist-field -r cmt-picklist-field -t Unlocked -v myhuborg
Successfully create new version of the cmt-picklist-field package using sfdx force:package:beta:version:create -p cmt-picklist-field -w 10 -x -v myhuborg
Install package version in myhuborg using sfdx force:package:beta:install --package 04t090000003oJQAAY -u myhuborg --securitytype=AdminsOnly --wait=10 -a package

Expected result
Picklist field values on both Account and Custom Metadata Type can be edited and added.
Actual result
Picklist field values can be edited and added only on the Account object. Picklist field values on the Custom Metadata Type can neither be added or edited.
System Information
{
  "cliVersion": "sfdx-cli/7.181.1",
  "architecture": "darwin-x64",
  "nodeVersion": "node-v18.12.1",
  "pluginVersions": [
    "@dxatscale/sfpowerscripts 20.2.11 (user)",
    "@oclif/plugin-autocomplete 1.3.6 (core)",
    "@oclif/plugin-commands 2.2.1 (core)",
    "@oclif/plugin-help 5.1.19 (core)",
    "@oclif/plugin-not-found 2.3.9 (core)",
    "@oclif/plugin-plugins 2.1.7 (core)",
    "@oclif/plugin-search 0.0.4 (core)",
    "@oclif/plugin-update 3.0.7 (core)",
    "@oclif/plugin-version 1.1.3 (core)",
    "@oclif/plugin-warn-if-update-available 2.0.14 (core)",
    "@oclif/plugin-which 2.2.2 (core)",
    "1commerce 0.0.10 (user)",
    "alias 2.1.11 (core)",
    "apex 1.3.0 (core)",
    "auth 2.3.1 (core)",
    "community 2.0.18 (core)",
    "config 1.4.22 (core)",
    "custom-metadata 2.0.5 (core)",
    "data 2.1.15 (core)",
    "generator 2.0.12 (core)",
    "info 2.2.11 (core)",
    "limits 2.1.3 (core)",
    "org 2.2.18 (core)",
    "packaging 1.10.10 (core)",
    "schema 2.1.18 (core)",
    "signups 1.2.12 (core)",
    "source 2.3.7 (core)",
    "telemetry 2.0.5 (core)",
    "templates 55.1.0 (core)",
    "trust 2.2.1 (core)",
    "user 2.1.22 (core)",
    "@salesforce/sfdx-plugin-lwc-test 1.0.1 (core)",
    "salesforce-alm 54.8.4 (core)",
    "sfdmu 4.18.2 (user)",
    "sfpowerkit 6.0.1 (user)"
  ],
  "osVersion": "Darwin 21.6.0",
  "shell": "zsh",
  "rootPath": "/Users/Username/.local/share/sfdx/client/7.181.1-05b8719"
}

Additional information
NB! I have set Field Manageability to SubscriberControlled for the CMT picklist field. However, if I have understood Field Manageability correctly, it affects whether you are able to change the field value on CMT records, not the CMT Picklist field values.
Account Picklist Field Values - Editable

CMT Picklist Field Values - Non-editable

The CLI team does not own this feature. I suggest contacting supper with your question.


Added note on weight-cache-override

Added note on serving supported models from a different folder without re-downloading them.

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


Better support map.keys/map.values in bindings

Right now map.keys/map.values return a new list every time they are requested. This can bring up issues in bindings where we might be comparing object's identities.
One idea is to cache the value and only return a new value when there are changes in the underlying Map. For example, doing something like the following in ObservableMap:
      /// Cache of keys so that only a new collection is created when we have reason
      /// to believe the keys have changed.
      Iterable<K> _keys;
      @reflectable Iterable<K> get keys {
        if (_keys == null) _keys = _map.keys;
        return _keys;
      }

      /// Cache of keys so that only a new collection is created when we have reason
      /// to believe the values have changed.
      Iterable<V> _values;
      @reflectable Iterable<V> get values {
        if (_values == null) _values = _map.values;
        return _values;
      }

      ...

      // Note: we don't really have a reasonable old/new value to use here.
      // But this should fix "keys" and "values" in templates with minimal overhead.
      void _notifyKeysValuesChanged() {
        _keys = null;
        notifyChange(new PropertyChangeRecord(this, #keys, null, null));
        _notifyValuesChanged();
      }

      void _notifyValuesChanged() {
        _values = null;
        notifyChange(new PropertyChangeRecord(this, #values, null, null));
      }
    }

This unfortunately departs from the semantics we got from dart:core Map, where keys/values are always a new instance.
Other ideas:
  - do something similar to the above, but also define observable iterables that can provide notifications for changes in the underlying map.
  - add logic to compare these collections more carefully in the binding layer.
Thoughts?

This issue has been moved to dart-lang/observe#67.


Yum Repository Missing GPG-Signed Packages

Not sure if this is the right place to put this, so scold me if I'm wrong.
It looks like that the RPM packages in the yum repository aren't signed via GPG. The APT/Debian/Ubuntu repo has signed packages though.
A request for security: can we please get them signed?

:+1:

This should probably go to https://github.com/sensu/sensu-build

@dmizelle I'm going to close this because this isn't the right repo for it, but please feel free to create an issue for this in https://github.com/sensu/sensu-build
#monitoringlove


Updating elasticsearch when added new fields to model

Hi ,
I have set up the elasticsearch a while ago, it worked. But today I needed to add a new field in mysql for my model, I have created the migration, I migrated it but when I wanted to update that field from controller (like $program->featured = 1; $program->save(); ) it returns an error:
Column not found: 1054 Unknown column 'featured' in 'field list' (SQL: update programs set updated_at = 2018-11-01 12:44:23, featured = 0 where id = 731)
I should mention that in tinker I don't have any issue when I update this model (using Eloquent or DB);
Also dd($program) (where $program = Program::find($id); )  shows an elasticsearch instance, something like:
 Program {#351   #guarded: []   #indexConfigurator: "App\CashbackIndexConfigurator"   #searchRules: []   #mapping: array:1 [     "properties" => array:3 [       "name" => array:2 [         "type" => "text"         "fielddata" => true       ]       "currency" => array:1 [         "type" => "text"       ]       "default_sale_commission_rate" => array:1 [         "type" => "float"       ]     ]   ] #connection: "mysql"   #table: null   #primaryKey: "id"   #keyType: "int"   +incrementing: true   #with: []   #withCount: []   #perPage: 15   +exists: true   +wasRecentlyCreated: false   #attributes: array:26 [     "id" => 730    ..... }
but attributes array doesn't contain my new added field.
I tried all commands, (elastic:migrate, scout:flush, scout:import, elastic:update-mapping)  but none of them worked. Is there anything I have to do?
Best Regards,
Lilian

Hi @lilian21, it looks like you don't have featured column in your programs table. The error you receive comes from database.

Hi @babenkoivan , I noticed that elastic search or scout is looking into my local database(which I used first), but my app is connected to a remote database. Somehow scout doesn't read the updated database config.


Double exposure webpage

Page Affected: "https://developers.google.com/web/fundamentals/design-and-ux/responsive/#set-the-viewport"
Parts of the webpage are overlapping each other.
Using Firefox 63.0.3
png screen capture attached

The issue persists unchanged, 23 days later. After I updated Firefox to ver. 64.0 And being notified, that the issue is closed.


External dns service monitor

What this PR does / why we need it:
Adds optional creation of a ServiceMonitor resource to support metric collection via Prometheus Operator managed servers.
Also add the standard chart helper template and updates the chart labels for all resources to use this.
Includes table formatting for the readme to align everything in raw text form.
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[ ] DCO signed
[ ] Chart Version bumped
[ ] Variables are documented in the README.md

cc @rabadin
/ok-to-test


URL Keeper application

Is your feature request related to a problem? Please describe.
Would like to URL the Keeper application. Please Assign this task to me under GSSOC'22.
Features:

user understandable UI
sound effects
animations
score storage

Steps Followed✅

[X] Is your feature request related to a problem? Please describe.
[X] Describe the solution you'd like
[X] Describe alternatives you've considered
[X] Additional context

Code of Conduct✅

[X] I agree to follow this project's Code of Conduct.
[X] I checked the current issues for duplicate problems.
[x] I have gone through project README.

@Astrodevil @sreelakshmig009 please review my PR


MIDI.jl package compatibility

Transferred issue from MIDI.jl :

I developed a powerful MusicXML package in Julia, which allows both writing and parsing musicxml files!
https://github.com/aminya/MusicXML.jl
We need to be able to convert the information from MIDI.jl types to MusicXML.jl types and vice versa.
This can also solve other issues, such as https://github.com/JuliaMusic/MIDI.jl/issues/116.
Generally, this can help make a more powerful Julia Music ecosystem,

I believe we should define it. Not only for the sake of the MusicXML, but also because if a human wants to write a simple phrase they think of the rests between notes as some objects.

What you say seems reasonable, but it is simply not how the MIDI format works. In the MIDI format everything (literally, everything) is defined in time with a temporal interval dt from the previous thing.
There are no rests, you just have increased dt. Therefore it does not make sense to define a Rest type in MIDI, as it will not help and in the opposite confuse people that want to write or read MIDI, simply because it is a concept that does not exist in MIDI.

also because if a human wants to write a simple phrase they think of the rests between notes as some objects

This is also NOT how MIDI.jl, the Julia implementation works. To define a note you simply give the starting position and the ending position, see here: https://juliamusic.github.io/JuliaMusic_documentation.jl/dev/midi/notes/#MIDI.Note
To define a quarter note, a quarter note rest and then a quarter note, I only have to define the second quarter note to start at time 2 * 960/4. I do not have to in addition define a rest existing before hand. And of course having to do this would make things more complicated, not less.
Please try to familiarize yourself a bit more with the MIDI framework. I really believe that you will find it intuitive after you have seen it in use. At the moment it might sound unreasonable but I can vouch that it is actually very smart. Looking at the documentation here: https://juliamusic.github.io/JuliaMusic_documentation.jl/dev/blog/garibaldi_dragadiddle/  will help a lot as I write real music without using any rests.

On the other side, if you think it is useful in MusicXML, then there it makes perfect sense to define it.

@Datseris Thank you for the response! I guess we can make it work without the rest.
On MusicXML side, Rest is defined because it appears as < rest /> in the code, and we need to take care of it, however, for MIDI conversion, I guess we can just use the pitches.
Actually, the example code I wrote, discards the pitches that are nothing (rest):
using MusicXML

# Reads musicxml file and then extracts the data, builds all the types and stores them in proper format.
doc = readmusicxml(joinpath("examples", "musescore.musicxml"))

# Example1:
# Prints Each instrument name and then the pitches

# Extracting each instrument information
scprts = doc.scorepartwise.partlist.scoreparts

# Extracting parts
prts = doc.scorepartwise.parts

# Extracting each part
for prt in prts

    ind = findfirst(x -> prt.ID == x.ID, scprts) # returns the index of scorepart that matches the ID of part

    # printing the instrument name
    println(scprts[ind].name)

    # Extracting each measure of the part
    for msr in prt.measures

        # Extracting notes of each measure
        for nt in msr.notes

            if !isnothing(nt.pitch)
            # print pitch of the note
                println(nt.pitch)
            end

        end

    end
end

MusicXML also has a special object for unpitched notes. So for conversion, both Pitch and Unpitched should be considered, and the rest can be discarded.

In the code example that you post, how does one obtain the position of each note in a bar? like where they are?

@Datseris Oh my bad. MusicXML doesn't have a time location. Instead, it has duration of each Note. Each note can be a Pitch, Rest, or Unpitched.

But then it seems that it is extremely easy to translate any series of MIDI.Note to a series of MusicXML.Note.
Here I sketch how, without too much thinking about details (that always reveal bugs :D )
notes = getnotes(midi) # this is a series of notes
notesxml = []
prevnote = notes[1]
for note in notes
  if note.pos == prevnote.pos # notes are at the same place
    # make a MusicXML.note with note.pitch and and note.duration
    # and push it to musicxmlnotes
  elseif note.pos == prevnote.pos + prevnote.duration # the new note starts immediatelly after the previous
    # make a MusicXML.note with note.pitch and and note.duration
    # and push it to musicxmlnotes
  else
    # make a MusicXML.note with rest. The rest duration is equal to:
    rest = note.pos - prevnote.pos - prevnote.duration
    push!(musicxml, rest)
    # then make a note that is has the pitch and duration of the current note and push it to musicxml
end

p.s.: translating the note durations and positions to percentages of the quarter note is straightforward with the notes.tpq number. Each tpq represents one quarter note, typically 960. Therefore an 8th note is 960/2 and a sixteenth note is 960/4, etc.

Also, I really don't understand why the MusicXML.Note struct has ALL three of these fields:
pitch::Pitch
rest::Rest
unpitched::Unpitched

A note can only be one of these three, not all at the same time. What does this even mean?

I updated the example to represent how MusicXML works: https://github.com/JuliaMusic/MusicXML.jl#usage-example
I will play with your code and commit it! Thanks for the help.

Also, I really don't understand why the MusicXML.Note struct has ALL three of these fields:
pitch::Pitch
rest::Rest
unpitched::Unpitched

A note can only be one of these three, not all at the same time. What does this even mean?

These fields are all under Note because they represent an object in xml. But it doesn't mean that they are present, and if they aren't passed to the type, they are considered to be nothing

I am not sure whether this Note is good design. That is because it introduces unecessary complexity in the struct and unecessary performance loss due to the unstable types.... Wouldn't it be better to  change this
@aml mutable struct Note "note"
    pitch::UN{Pitch} = nothing, "pitch"
    rest::UN{Rest} = nothing, "rest"
    unpitched::UN{Unpitched} = nothing, "unpitched"
    duration::UInt, "duration"
    # voice
    type::UN{String} = nothing, "type"
    accidental::UN{String} = nothing, "accidental"
    tie::UN{String} = nothing, "tie" # start, stop, nothing TODO
end

to this
@aml mutable struct Note{X} "note"
    identity::X = nothing # or something compatible with @aml macro
    duration::UInt, "duration"
    # voice
    type::UN{String} = nothing, "type"
    accidental::UN{String} = nothing, "accidental"
    tie::UN{String} = nothing, "tie" # start, stop, nothing TODO
end

and leverage parametric Types? Here X will be either Pitch, Unpitched, Rest, depending on what you want to create.

P.S.: I would also recommend to rename Note to NoteXML, because then you will have conflicts with MIDI.jl, since it also exports Note.

I am not sure whether this Note is good design. That is because it introduces unecessary complexity in the struct and unecessary performance loss due to the unstable types.... Wouldn't it be better to change this
@aml mutable struct Note "note"
    pitch::UN{Pitch} = nothing, "pitch"
    rest::UN{Rest} = nothing, "rest"
    unpitched::UN{Unpitched} = nothing, "unpitched"
    duration::UInt, "duration"
    # voice
    type::UN{String} = nothing, "type"
    accidental::UN{String} = nothing, "accidental"
    tie::UN{String} = nothing, "tie" # start, stop, nothing TODO
end

to this
@aml mutable struct Note{X} "note"
    identity::X = nothing # or something compatible with @aml macro
    duration::UInt, "duration"
    # voice
    type::UN{String} = nothing, "type"
    accidental::UN{String} = nothing, "accidental"
    tie::UN{String} = nothing, "tie" # start, stop, nothing TODO
end

and leverage parametric Types? Here X will be either Pitch, Unpitched, Rest, depending on what you want to create.

Yes I can look into this. This seems straightforward to implement.

P.S.: I would also recommend to rename Note to NoteXML, otherwise you will have conflicts with MIDI.jl, since it also exports Note.

I think I can keep the name, and instead not export the types.

I think I can keep the name, and instead not export the types.

Hm, I urge you to reconsider this point.
First, you would have to type MIDI.Note every time you use it in the module. It will also mean that every user that wants to use both MIDI and MusicXML (which seems a very reasonable thing to do) would also have to type MusicXML.Note all the time.
But most importantly, I also think it is a bit confusing for the users. I have so far not seen two different types have exactly the same name in all the Julia packages I use. I would assume that others will find this confusing as well.

I think I can keep the name, and instead not export the types.

Hm, I urge you to reconsider this point.
First, you would have to type MIDI.Note every time you use it in the module. It will also mean that every user that wants to use both MIDI and MusicXML (which seems a very reasonable thing to do) would also have to type MusicXML.Note all the time.
But most importantly, I also think it is a bit confusing for the users. I have so far not seen two different types have exactly the same name in all the Julia packages I use. I would assume that others will find this confusing as well.

Good point. NoteX is probably a better name.

to this
@aml mutable struct Note{X} "note"
    identity::X = nothing, "identity" # or something compatible with @aml macro

...

end

and leverage parametric Types? Here `X` will be either `Pitch, Unpitched, Rest`, depending on what you want to create.

AML doesn't support curly braces now. I had this in plan though, and I have a sketch for it
But if we want to have the logic checking for now, it could be something like:
# UN{T} means Union{T, Nothing}

mutable struct Identity
    pitch::UN{Pitch}
    rest::UN{Rest}
    unpitched::UN{Unpitched}
    aml::Node
end

function Identity(;pitch, rest, unpitched)

    if pitch != nothing
        addelementOne!(aml, "pitch", pitch)
    elseif rest != nothing
        addelementOne!(aml, "rest", rest)
    elseif unpitched != nothing
        addelementOne!(aml, "unpitched", unpitched)
    else
        error("one of the pitch, rest or unpitched should be given")
    end

    return Note(pitch, rest, unpitched, aml)
end

function Identity(;aml)

        pitch = findfirstcontent(Pitch, "pitch", aml, 0)
        rest = findfirstcontent(Rest, "rest", aml, 0)
        unpitched = findfirstcontent(Unpitched, "unpitched", aml, 0)

        return Identity(pitch, rest, unpitched, aml)
end

mutable struct Identity
    pitch::UN{Pitch}
    rest::UN{Rest}
    unpitched::UN{Unpitched}
    aml::Node
end

isn't this the same as the original version? What is the benefit of using this Identity...? you once again have these three fields, even though only one can exist at one instance...

mutable struct Identity
    pitch::UN{Pitch}
    rest::UN{Rest}
    unpitched::UN{Unpitched}
    aml::Node
end

isn't this the same as the original version? What is the benefit of using this Identity...? you once again have these three fields, even though only one can exist at one instance...

We need to write a code that generates/extracts the xml(aml) automatically, so the constructors for the type should be llike this. But maybe we can write identity like this if you want to not have fields for it:
@aml mutable struct NoteX "note"
    sound::identity = nothing, "sound"
    duration::UInt, "duration"
    # voice
    type::UN{String} = nothing, "type"
    accidental::UN{String} = nothing, "accidental"
    tie::UN{String} = nothing, "tie" # start, stop, nothing TODO
end

# UN{T} means Union{T, Nothing}

mutable struct sound{X}
    identity::X
    aml::Node
end

function Identity(;identity = nothing)

    if isa(sound, Pitch)
        addelementOne!(aml, "pitch", pitch)
    elseif isa(sound, Rest)
        addelementOne!(aml, "rest", rest)
    elseif  isa(sound, Unpitched)
        addelementOne!(aml, "unpitched", unpitched)
    else
        error("one of the pitch, rest or unpitched should be given")
    end

    return Note(identity, aml)
end

function Identity(;aml)

        pitch = findfirstcontent(Pitch, "pitch", aml, 0)
        rest = findfirstcontent(Rest, "rest", aml, 0)
        unpitched = findfirstcontent(Unpitched, "unpitched", aml, 0)

        return Identity(identity, aml)
end

I believe the current version is much more compact. We can use the 2nd version or 3rd version, but other than this logic checking they don't add anything to the code.
We need to have a struct with aml field that builds the xml file. So, I prefer to stick to 1st version.

Okay then, yes the 1st version is definitely a much better alternative. In fact now that you show me the musicxml situation the original version of NoteX with all three fields rest, unpitched pitched is the most compact.
I think for now I'll leave you finish the XML logic. I don't know XML anyway. Once you have a convertor ready, using the preliminary sketch I provided, then I can check again.

Because in musicxml all the types are written in lower case, if I define the types in lower case, then we don't need to change Note to NoteX or something.

Also, I added support for parametric type structs to AcuteML (the new name for AML).
https://github.com/aminya/AcuteML.jl/issues/25
@aml struct note{X}
sound::X, "~"
end

note{Pitch}(sound= Pitch(step = "C", alter = 0, octave = 0) )

If we want we can switch to this syntax

Edit: this doesn't work for note, because it adds a   around the added pitch, rest, or unpitched

Also, I added support for parametric type structs to AcuteML (the new name for AML).
https://github.com/aminya/AcuteML.jl/issues/25
@aml struct note{X}
sound::X, "~"
end

note{Pitch}(sound= Pitch(step = "C", alter = 0, octave = 0) )

If we want, we can switch to this syntax

Some packages that convert musicxml to midi or vice-versa to learn lessons from:
https://github.com/tensorflow/magenta/blob/master/magenta/music/musicxml_parser.py
https://github.com/oov/mxl2mid/blob/master/mxl/convert.go
https://github.com/slpopejoy/fadno/blob/master/src/Fadno/Note.hs
https://github.com/Perlence/mxml2midi/blob/master/mxml2midi.py
https://github.com/raine0524/XmlMidiParser/tree/master/oc_source


Caching a polars dataframe into parquet fails

Current behavior
When trying to cache a node whose output is a polars DataFrame, an exception is raised.
Stack Traces
********************************************************************************
>[post-node-execute] hello [test_module.hello()] encountered an error          <
> Node inputs:
{}
********************************************************************************
Traceback (most recent call last):
  File "/home/eisler/miniconda3/envs/test/lib/python3.11/site-packages/hamilton/execution/graph_functions.py", line 318, in execute_lifecycle_for_node
    __adapter.call_all_lifecycle_hooks_sync(
  File "/home/eisler/miniconda3/envs/test/lib/python3.11/site-packages/hamilton/lifecycle/base.py", line 915, in call_all_lifecycle_hooks_sync
    getattr(adapter, hook_name)(**kwargs)
  File "/home/eisler/miniconda3/envs/test/lib/python3.11/site-packages/hamilton/caching/adapter.py", line 1446, in post_node_execute
    self.result_store.set(
  File "/home/eisler/miniconda3/envs/test/lib/python3.11/site-packages/hamilton/caching/stores/file.py", line 71, in set
    saver = saver_cls(path=str(materialized_path.absolute()))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: PolarsParquetWriter.__init__() got an unexpected keyword argument 'path'
-------------------------------------------------------------------

{
	"name": "TypeError",
	"message": "PolarsParquetWriter.__init__() got an unexpected keyword argument 'path'",
	"stack": "---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[4], line 1
----> 1 dr.execute(final_vars=[\"hello\"])

File ~/miniconda3/envs/test/lib/python3.11/site-packages/hamilton/driver.py:637, in Driver.execute(self, final_vars, overrides, display_graph, inputs)
    635     error_execution = e
    636     error_telemetry = telemetry.sanitize_error(*sys.exc_info())
--> 637     raise e
    638 finally:
    639     if self.adapter.does_hook(\"post_graph_execute\", is_async=False):

File ~/miniconda3/envs/test/lib/python3.11/site-packages/hamilton/driver.py:623, in Driver.execute(self, final_vars, overrides, display_graph, inputs)
    614     self.adapter.call_all_lifecycle_hooks_sync(
    615         \"pre_graph_execute\",
    616         run_id=run_id,
   (...)
    620         overrides=overrides,
    621     )
    622 try:
--> 623     outputs = self.__raw_execute(
    624         _final_vars, overrides, display_graph, inputs=inputs, _run_id=run_id
    625     )
    626     if self.adapter.does_method(\"do_build_result\", is_async=False):
    627         # Build the result if we have a result builder
    628         outputs = self.adapter.call_lifecycle_method_sync(
    629             \"do_build_result\", outputs=outputs
    630         )

File ~/miniconda3/envs/test/lib/python3.11/site-packages/hamilton/driver.py:834, in Driver.__raw_execute(self, final_vars, overrides, display_graph, inputs, _fn_graph, _run_id)
    832     return results
    833 except Exception as e:
--> 834     raise e

File ~/miniconda3/envs/test/lib/python3.11/site-packages/hamilton/driver.py:825, in Driver.__raw_execute(self, final_vars, overrides, display_graph, inputs, _fn_graph, _run_id)
    823 results = None
    824 try:
--> 825     results = self.graph_executor.execute(
    826         function_graph,
    827         final_vars,
    828         overrides if overrides is not None else {},
    829         inputs if inputs is not None else {},
    830         run_id,
    831     )
    832     return results
    833 except Exception as e:

File ~/miniconda3/envs/test/lib/python3.11/site-packages/hamilton/driver.py:175, in DefaultGraphExecutor.execute(self, fg, final_vars, overrides, inputs, run_id)
    173 memoized_computation = dict()  # memoized storage
    174 nodes = [fg.nodes[node_name] for node_name in final_vars if node_name in fg.nodes]
--> 175 fg.execute(nodes, memoized_computation, overrides, inputs, run_id=run_id)
    176 outputs = {
    177     # we do this here to enable inputs to also be used as outputs
    178     # putting inputs into memoized before execution doesn't work due to some graphadapter assumptions.
    179     final_var: memoized_computation.get(final_var, inputs.get(final_var))
    180     for final_var in final_vars
    181 }  # only want request variables in df.
    182 del memoized_computation  # trying to cleanup some memory

File ~/miniconda3/envs/test/lib/python3.11/site-packages/hamilton/graph.py:1099, in FunctionGraph.execute(self, nodes, computed, overrides, inputs, run_id)
   1097     run_id = str(uuid.uuid4())
   1098 inputs = graph_functions.combine_config_and_inputs(self.config, inputs)
-> 1099 return graph_functions.execute_subdag(
   1100     nodes=nodes,
   1101     inputs=inputs,
   1102     adapter=self.adapter,
   1103     computed=computed,
   1104     overrides=overrides,
   1105     run_id=run_id,
   1106 )

File ~/miniconda3/envs/test/lib/python3.11/site-packages/hamilton/execution/graph_functions.py:250, in execute_subdag(nodes, inputs, adapter, computed, overrides, run_id, task_id)
    247     if final_var_node.user_defined:
    248         # from the top level, we don't know if this UserInput is required. So mark as optional.
    249         dep_type = node.DependencyType.OPTIONAL
--> 250     dfs_traverse(final_var_node, dep_type)
    251 return computed

File ~/miniconda3/envs/test/lib/python3.11/site-packages/hamilton/execution/graph_functions.py:222, in execute_subdag.<locals>.dfs_traverse(node_, dependency_type)
    215         result = adapter.call_lifecycle_method_sync(
    216             \"do_remote_execute\",
    217             node=node_,
    218             execute_lifecycle_for_node=execute_lifecycle_for_node_partial,
    219             **kwargs,
    220         )
    221     else:
--> 222         result = execute_lifecycle_for_node_partial(**kwargs)
    224 computed[node_.name] = result
    225 # > pruning the graph
    226 # This doesn't narrow it down to the entire space of the graph
    227 # E.G. if something is not needed by this current execution due to
    228 # the selection of nodes to run it might not prune everything.
    229 # to do this we'd need to first determine all nodes on the path, then prune
    230 # We may also want to use a reference counter for slightly cleaner/more efficient memory management

File ~/miniconda3/envs/test/lib/python3.11/site-packages/hamilton/execution/graph_functions.py:318, in execute_lifecycle_for_node(__node_, __adapter, __run_id, __task_id, **__kwargs)
    314 if not pre_node_execute_errored and __adapter.does_hook(
    315     \"post_node_execute\", is_async=False
    316 ):
    317     try:
--> 318         __adapter.call_all_lifecycle_hooks_sync(
    319             \"post_node_execute\",
    320             run_id=__run_id,
    321             node_=__node_,
    322             kwargs=__kwargs,
    323             success=success,
    324             error=error,
    325             result=result,
    326             task_id=__task_id,
    327         )
    328     except Exception:
    329         message = create_error_message(__kwargs, __node_, \"[post-node-execute]\")

File ~/miniconda3/envs/test/lib/python3.11/site-packages/hamilton/lifecycle/base.py:915, in LifecycleAdapterSet.call_all_lifecycle_hooks_sync(self, hook_name, **kwargs)
    909 \"\"\"Calls all the lifecycle hooks in this group, by hook name (stage)
    910
    911 :param hook_name: Name of the hooks to call
    912 :param kwargs: Keyword arguments to pass into the hook
    913 \"\"\"
    914 for adapter in self.sync_hooks.get(hook_name, []):
--> 915     getattr(adapter, hook_name)(**kwargs)

File ~/miniconda3/envs/test/lib/python3.11/site-packages/hamilton/caching/adapter.py:1446, in HamiltonCacheAdapter.post_node_execute(self, run_id, node_, result, success, error, task_id, **future_kwargs)
   1444 result_missing = not self.result_store.exists(data_version)
   1445 if result_missing or materialized_path_missing:
-> 1446     self.result_store.set(
   1447         data_version=data_version,
   1448         result=result,
   1449         saver_cls=saver_cls,
   1450         loader_cls=loader_cls,
   1451     )
   1452     self._log_event(
   1453         run_id=run_id,
   1454         node_name=node_name,
   (...)
   1458         value=data_version,
   1459     )

File ~/miniconda3/envs/test/lib/python3.11/site-packages/hamilton/caching/stores/file.py:71, in FileResultStore.set(self, data_version, result, saver_cls, loader_cls)
     68 if saver_cls is not None:
     69     # materialized_path
     70     materialized_path = self._materialized_path(data_version, saver_cls)
---> 71     saver = saver_cls(path=str(materialized_path.absolute()))
     72     loader = loader_cls(path=str(materialized_path.absolute()))
     73 else:

TypeError: PolarsParquetWriter.__init__() got an unexpected keyword argument 'path'"
}

Steps to replicate behavior
Write and run a jupyter notebook with the following cells:
%load_ext hamilton.plugins.jupyter_magic

%%cell_to_module -m test_module --display --rebuild-drivers

import polars as pl
from hamilton.function_modifiers import cache

@cache(format="parquet")
def hello() -> pl.DataFrame:
    return pl.DataFrame({"a": [1,2]})

from hamilton import driver
import test_module

dr = (
    driver
    .Builder()
    .with_config({})
    .with_modules(test_module)
    .with_cache(path=".")
    .build()
)

dr.execute(final_vars=["hello"])

Library & System Information
python=3.11.8, sf-hamilton=1.81.0 and 1.83.2, polars=1.10.0
Expected behavior
I expected the node output to be persisted to disk in a parquet format.

@poldpold thanks for the issue! Will take a look.

@poldpold if you could try installing my fix and giving it a go please:
Assuming you use SSH: pip install git+ssh://git@github.com/dagworks-inc/hamilton.git@fix_1240

@skrawcz, this works great, thank you! Looking forward to seeing it in an upcoming release!


its to it's where appropriate in throttlemanager

Simple grammatical fixes in the comments.

Hi @akkatracker, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

LGTM.


GraalJS and runner and reporter improvements - performance, streams, config

this is an "umbrella" issue and I may close some of the existing issues as duplicates. there is a refactoring that will go along with this, perhaps the graal migration

✅ introduce a scenario stream concept

a "generator function" that can produce scenarios at run-time, lazily for best performance
split scenarios for parallel execution
result streams can be combined to aggregate results
can Scenario Outline take a stream as the data-source ? may be hard
at the very least support a "generator" as the call argument

✅ test-run progress reporting

something we've discussed for the karate-runner VS Code plugin project
remaining tests progress indicator
dump stats to file that VS Code can pick up as it changes
move / rename previous report to backup file so it is not lost / overwritten (good to have)

✅ improve Embed design to store files and not hold all the bytes of large images in memory
run in "quiet" mode, no reports and less logs, to enable bots and high-perf use
✅ report performance #1245

don't write JSON, XML, HTML when instructed
can a file-stream be introduced for perf especially when the no of scenarios is huge
re-write JUnit XML report to use something SAX-like not DOM, also see https://stackoverflow.com/q/63747415/143475

✅ report vs console logging

decouple report verbosity and console logger, maybe use command-line / sys-prop #1156
request param or sys-prop should switch debug level for mock also
improve logging for multipart https://stackoverflow.com/q/64391922/143475

❌ runner pipelines (defer to later)

use-case to be able to sequence some tags (or scenario streams) to run first
and some control to be able to conditionally abort test after that phase
if that is too hard, at the very least plan to introduce a karate.abortAll() api to stop the entire test-suite

✅ retry

re-design the results objects so that we keep track of re-tries and still report "final" results without messing up scenario / pass / fail counts. this should play well with the "scenario streams" above
also support being able to "combine" 2 Result instances, so you can use the Runner multiple times in a "suite" but have a single report #1263

✅ user custom doc can appear inline #951
✅ improve HTML reporting

use new GraalJS based engine
templating and re-use system, allow users to create custom reports and contribute as plugin / JAR files

✅ report dry-run concept and @todo tag

the goal is to NOT require a test-management tool (as far as possible :)
you should be able to run tests in “dry run” mode. this will give you the same old HTML report showing what features will be run, we will show all steps so you can read the HTML report. note that we now include comments - but of course the actual times, and logs will be missing. everything will pass
the useful part of the “dry run” report is the “Tags” section, showing what tags will run. this should suffice as a feature “coverage” report, provided you have a rich set of tags. e.g. @smoke @module=one @module=two etc

✅ because graal-js JS / match improvements - e.g. the JS arrow operator will finally be usable
✅ improve match failure reporting https://github.com/intuit/karate/issues/1012
✅ remove / deprecate cucumber reports from stand-alone JAR
✅ unify CLI #1177 - right now there are 2 for karate-core and karate-netty
✅ debug - improve variables display https://github.com/kirksl/karate-runner/issues/68
✅ header names should be case-insensitive #1360

Thanks for raising this Peter, You've noted everything I had in mind.
In case it helps I have crafted a simple example similar to what I had used in a project. Checking task manager in windows it consumes 4.2gb of memory with 2000 elements in the dynamic scenario.
https://github.com/KostasKgr/karate-issues/blob/heavy_cpu_memory_on_dynamic_scenario/src/test/java/examples/example.feature
I had also noticed something weird with the xml report, but for the life of me I can't get the xml report to get generated now that I am at my home windows pc, if I manage to reproduce it I will update this comment.
Cheers

@KostasKgr XML report maybe it is this problem someone just reported: https://stackoverflow.com/q/63747415/143475 - I've added it to the master list

I'm going to declare this as done ! have updated the first comment with the 2 pieces we didn't get to. but very happy with all that we were able to accomplish. we are on GraalJS, karate runs on JDK 16 and the code has been cleaned up very effectively

That's wonderful news, thank you! Is there an ETA for the changes to be released in a new version?

That's wonderful news, thank you! Is there an ETA for the changes to be released in a new version?

@dersvenhesse please see https://github.com/intuit/karate/wiki/1.0-upgrade-guide - so right now you can test 0.9.9.RC3

@dersvenhesse please see https://github.com/intuit/karate/wiki/1.0-upgrade-guide - so right now you can test 0.9.9.RC3


Сlose tabs with middle mouse button

Support the widely used feature of closing tabs with a middle mouse button click.

On TODO list here: https://github.com/EpicGames/raddebugger/blob/d172b3a059af35937b9cd7be5d73ceb35084c591/src/raddbg/raddbg.h#L251

Done in 3a811e5e1633a463a7c4995db63ee6d206c495f9.


File not found: reskins-bobs/..../rubber.png

First of all: Great work!

I have tried several things, couldn't get this mod to work with my Bob's Electronics for some reason, they just really wanna fight.
There is only Bob's Electronics, Artisanal Reskins: Bob's Mods and it's dependencies active.
I can't find rubber.png on Bob's Electronics' /graphics/icons/plates/items/ but rather on /graphics/icons/.
Whereas on reskins-bobs has said folder, but no signal of rubber.png there.

I have imported the rubber.png from ShinyGFX and scaled it to fit 64x64 (required by your mod) and put into that folder, worked fine.

Rubber.png on yours is just missing for me?

Woops, I forgot that rubber was referenced in two places and neglected to update the reference in the electronics items file to point to the new location. Commit 5b84c9475cc7dd7e402851d0318ad7eee14e9a0d fixes this. Will release an update shortly.
The rubber icon it's looking for was moved into reskins-library under graphics/icons/shared/items but I neglected to update the reference. I'm verifying the fix right now (Factorio loads slowly...)

Fix is live.

What a fast fix. Nice! Thanks for warning when it's live also.


bug : evaluating FPStaticServer.stop()

HI, I found this bug in my app I can not overcome it for 2 days:

This is the link for the question open on stackoverflow.
You know how to solve it?
Thank you very much and good job.

have the same issue

I found that we need link some library for Android in the MainApplication.java:
import com.futurepress.staticserver.FPStaticServerPackage;
and add to the getPackages**()** method:
new FPStaticServerPackage()


[bug] vscode don't detect using variable in "import { match } from 'react-router';"

I think vscode has some problem on matching imported variables from another packages.

It happens only on that variable and that package. Another packages and variables working fine.
VSCode version:
1.24.1
24f62626b222e9a8313213fb64b10d741a326288
x64

OS: Arch linux, updated on 2018.06.15
Steps to Reproduce:

Write code:

import { match } from 'react-router';
match();

See that VSCode thought that we don't use match variable.

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

Maybe because match variable in 'react-router' has some typescript interface?
export interface match<P> {
  params: P;
  isExact: boolean;
  path: string;
  url: string;
}

I think you meant to import and call matchPath instead? match is indeed just a type

Sorry, @mjbvz , but that code working in my real project. We using react-router v3, and there docs for that match function.
So, this is typing bindings error in react-router v3?

If you are using an older version of react-router, you need to manually install the older types for it:
npm install --save-dev @types/react-router@3

We always grab the most recent types by default


Enhance moveToElement method description

With the update in Selenium https://github.com/SeleniumHQ/selenium/issues/1202 the moveToElement function is going to take more relevance. I thought that the current description could lead to misunderstandings and decided to improve it a bit. I hope you find it more accurate.

just signed CLA


React.PropTypes is deprecated

React.PropTypes is deprecated. See: https://reactjs.org/warnings/dont-call-proptypes.html

Sweet thanks @rufinoNL!!

Thanks for merging!
Op 13 nov. 2017 03:06 schreef "Ryan Collins"<EMAIL_ADDRESS>Sweet thanks @rufinoNL https://github.com/rufinonl!!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/scalable-react/redux-mock-provider/pull/1#issuecomment-343790662,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEJvRMIwiCu7MyU2db3Z4Z3dUJ1qOzplks5s16Q0gaJpZM4QZRdR
.


fixing missing rules and filters on subscription

fixing https://github.com/MassTransit/MassTransit/issues/763 , missing subscription rules/filters,
This PR fixes the issue

Thanks, subtle oversight :)


[embedding] Improve pack.py for embeddingapi

Improve pack.py for embeddingapi
Add ExtensionEcho_broadcast.java
Correct the package path of embeddingapi/embedding-api-android-tests/tests_*.xml
Correct the package path of usecase-embedding-android-tests/inst.apk.py

Impacted tests(approved): new 0, update 0, delete 0
Unit test platform: [Android]
Unit test result summary: pass 159, fail 19, block 0

Verified,packing successfully with this patch.


Design review: Use control serviceregistry to manage blockdevice_id <-> dataset_id mapping

This presumes we've already done FLOC-1771, i.e. when we create a dataset we just do a single block device action of "create volume", and in later iterations of convergence loop follow up with attaching, creating filesystem etc..
The basic idea is that control service is in charge of remembering dataset_id<->blockdevice_id mapping, and that any info stored by block device backend can be used as hints for upgrade and crash recovery, but is not the canonical source of truth.
This feels like a very complex change for a simple problem. I am not sure what else can be done given AWS APIs are unreliable.

Can someone verify this PR?


Make builds from GitHub visually distinct from the official ATT&CK instance

As a member of the ATT&CK team, I want instances of the ATT&CK website built by users to be visually distinct from the official ATT&CK website at attack.mitre.org.

Change the ATT&CK-orange colored header to a different color (probably something grayscale like #303435):

This can be done in the colors file: changing the primary color will change every occurrence of ATT&CK orange (except images and logos) which is the intended replacement.

Modify the main page to remove the twitter card. Remove the ATT&CK logo and quick links and instead add a second section (separated by a horizontal line) which states:

This is a custom instance of the ATT&CK Website built from source code published by ATT&CK on GitHub. It is not affiliated with ATT&CK in any official capacity. The official instance of the ATT&CK website can be found at attack.mitre.org.

Note: the above disclaimer may change before the v3.0 release.

Add a default banner message stating that this is not the official ATT&CK instance:

This is a custom instance of the ATT&CK Website. The official instance can be found at attack.mitre.org.

Remove the twitter and contact link from the site footer. Replace them with a link to attack.mitre.org (labelled attack.mitre.org).

These style should be restored if the user runs the build with the --attack-brand flag. The presence of the flag denotes that the site should be built with the full ATT&CK brand.

See also #241.


System.IO.DirectoryNotFoundException: Could not find a part of the path

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] My answer given in the checkbox above is a lie.

What problem did you encounter?
Bloxstrap_20240801T032650Z.log

Seems like an improper install. You may want to try opening the Bloxstrap Menu, going to the Behaviour tab, and enabling the "Force Roblox Reinstall" option, and try launching again. See if that works.

Closed due to inactivity from OP.


Building PECL grpc-1.29.0 fails on Windows

The Windows builds of the freshly released PECL grpc-1.29.0 fail, because the include path to third_party/boringssl-with-bazel/src/include is not properly set. I've fixed this directly in the shipped config.w32 to test the build locally, but probably the proper fix would be something like:
 templates/config.w32.template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/templates/config.w32.template b/templates/config.w32.template
index f69cc08df65..84589544b7a 100644
--- a/templates/config.w32.template
+++ b/templates/config.w32.template
@@ -33,7 +33,7 @@
       "/I"+configure_module_dirname+"\\src\\php\\ext\\grpc "+
       "/I"+configure_module_dirname+"\\third_party\\abseil-cpp "+
       "/I"+configure_module_dirname+"\\third_party\\address_sorting\\include "+
-      "/I"+configure_module_dirname+"\\third_party\\boringssl\\include "+
+      "/I"+configure_module_dirname+"\\third_party\\boringssl-with-bazel\\src\\include "+
       "/I"+configure_module_dirname+"\\third_party\\upb "+
       "/I"+configure_module_dirname+"\\third_party\\zlib ");

Yes aware of that. Already merged #22993. Will push another release soon.

PECL extension version 1.29.1 is live now. Verified the DLLs are built.


Cannot GET /api/bitgo

URL: https://hackathonstarter-sahat.rhcloud.com/api/bitgo
Screenshot:

Looks like BitGo was removed because of a dependency issue, which was committed in https://github.com/sahat/hackathon-starter/commit/fc464d8728b862e567a4df51c3a4e0747be353bf, and brought up in issue #537.
Might be a good idea to clean it up and remove references to it from the API Examples page?
I can take that on, if it's cool?

PR merged.  Thank you.


GatewayService - sensor data caching

Enhancement request to add local persistent caching of sensor data messages that fail to send to event hub, along with periodic retry.

Great idea. Even better if you want to contribute solution and issue a pull request!
Top priorities for us currently are increasing scope around additional devices, cloud services, and analytics, so need your help to develop enhancements such as this. Assigning lower priority for now - may change later.

I'd like to contribute, just not sure I have the skill and time.  I have deployed the project to evaluate as the basis for an air quality monitoring pilot using low cost sensors.  If we decide to go ahead using connectthedots, I'm sure me or my colleagues will add the enhancement and contribute.  I've actually added some simple features to my installation (SA job to store all data in SQL Server and a web application to view, sort, filter and download).

Stale


只能处理pdf，不能对图片进行解析？

API Guide中给了curl传递pdf文件到API的脚本，但是如果想传递图片，比如jpg格式的图片，报错：Unsupported Media Type。
请问是不是只支持PDF的识别？对图片就没法用了？

Parsr support images.

What is the format of the image you are trying?

The chinese installation documentation is not really up to date, could you try to follow https://github.com/axa-group/Parsr/blob/master/docs/usage.md ?

@yuzi1949 Any updates on this?
Otherwise, I will close the issue.


[BUG] mute remote audio stream gives not to easy handle REMOTE_USER_IS_NOT_PUBLISHED when not streaming

Describe the bug
When a remote user is not streaming and the MuteRemoteVideoStream is called with this user. it throws a javascript error REMOTE_USER_IS_NOT_PUBLISHED.
When we could handle this our selves in unity it would be less problem, but also have to change js files for building it it not handy.
background is, that we use a system for muting persons who are at a certain distance. Now we store the mute state of each user in our networking enviroment., but there will always be delay. So when a remote user stops his videostream and the status is not updated yet, the local user gets the javascript error.
To Reproduce
Steps to reproduce the behavior:

enter with two users in multichannel
call MuteRemoteVideoStream  when the other user is not streaming yet.

Possible solutions
I see two interesting options:

Implement the errohandling so we can manage it our selves in unity https://github.com/AgoraIO-Community/Agora_Unity_WebGL/issues/22
when a remoteuser is not streaming and and localuser does try to stop the stream, just ignore it (maybe a WARNING0, because it is is already stopped/or not streaming so no problem there.

the last one can also be handy for muting local user. When not streaming, and the mutelocalstream is called just ignore it. results are ok in that way.

To be sure still hapening in refactor4


Settings forms are broken in 2.1.0 (with quick workaround)

Two changes in 2.1.0 each broke settings forms in 2.1.0, just posting my solution here hoping it will help somebody else

"Skip modal to create records" https://github.com/area17/twill/pull/642
"Add self-contained blocks" https://github.com/area17/twill/pull/597

Here is a quick workaround: Copy vendor/area17/twill/views/layouts/settings.blade.php to resources/views/vendor/twill/layouts/settings.blade.php
Add in line 4 (as a parameter when you extend 'twill::layouts.form'):
'availableRepeaters' => "''"
Add after @push('vuexStore'):
window['{{ config('twill.js_namespace') }}'].STORE.publication.createWithoutModal = false
--
Or just copy this file to resources/views/vendor/twill/layouts/settings.blade.php:
settings.blade.php.txt

Thank you so much for sharing your resolution @marinaglancy!

Thank you very much, I'm very impressed with your fast reaction. And thanks for tagging it :)


Unexpected UpdatesAvailableAlerts

Seen in:
https://build.whamcloud.com/view/IML/job/integration-tests-shared-storage-configuration/687/
Traceback (most recent call last):
  File "/usr/share/chroma-manager/tests/integration/shared_storage_configuration/test_alerting.py", line 105, in test_alerts
    active=True)
  File "/usr/share/chroma-manager/tests/integration/core/api_testcase_with_test_reset.py", line 324, in wait_alerts
    raise AssertionError(alerts)
AssertionError: [u'TargetOfflineAlert', u'TargetOfflineAlert', u'TargetOfflineAlert', u'TargetOfflineAlert', u'UpdatesAvailableAlert', u'UpdatesAvailableAlert', u'UpdatesAvailableAlert', u'UpdatesAvailableAlert']

iml-update-check is reporting the following packages are available for update:
[<hawkey.Package object id 17653, kernel-tools-3.10.0-862.9.1.el7_lustre.x86_64, lustre>,
<hawkey.Package object id 17655, kernel-tools-libs-3.10.0-862.9.1.el7_lustre.x86_64, lustre>,
<hawkey.Package object id 17678, python-perf-3.10.0-862.9.1.el7_lustre.x86_64, lustre>]

These versions may be superior to what's currently installed, but they were not directly pinned in any Lustre specs or they would have been pulled in.
There is also the issue that iml-update-check filters to whatever is in /etc/yum.repos.d/Intel-Lustre-Agent.repo, but this may be at odds with what is supplied in a given server profile.

This is fixed in an upstream Lustre repo packaging change. However the fixes we need on the IML side are in https://github.com/whamcloud/iml-update-check/issues/11 and https://github.com/whamcloud/iml-update-check/issues/12


Include example command to find all files

This fixes this issue.

Blob usage is already demonstrated in the "installing" section of the README:
"test": "riteway test/**/*-test.js"


Drop root privileges

Currently the container scripts including libreoffice runs as root. surely it is encapsulated in the container, but as root the attack surface is still much bigger.
Considering the complex nature of parsing office documents leading to security vulnerabilities and that the jodconverter presumably is normally fed with untrusted user data I think this should be changed :)

I'am happy to accept any PR for that. Be sure to use standards like gosu if you implement that.


unable to build dll with MSVC

Hello
I am able to build static openblas with CMAKE and MSVC
if I switch of the static library option (meaning that I request a dll) CMAKE with switch it on back
this prevents from creating a dll.
is this behavior known ?
thanks
jac

just to inform you
it worked
i was able to create a dll (also the export library)
best
jac

Glad you got it working


TPU unresolvable on google colab

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
No
Source
source
TensorFlow version
2.16.1
Custom code
Yes
OS platform and distribution
No response
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
when trying to run:
tpu = tf.distribute.cluster_resolver.TPUClusterResolver()
I get:
ValueError: Please provide a TPU Name to connect to.
Im getting this while running on a colab TPU instance.
documentation states:
"A string corresponding to the TPU to use. It can be the TPU name or TPU worker gRPC address. If not set, it will try automatically resolve the TPU address on Cloud TPUs. If set to "local", it will assume that the TPU is directly connected to the VM instead of over the network."

https://www.tensorflow.org/api_docs/python/tf/distribute/cluster_resolver/TPUClusterResolver

P.S. Please help me Ive been dealing with OOMs for the last 5 months because of things like this please end my suffering
Standalone code to reproduce the issue
!pip install datasets huggingface_hub transformers tf-models-official

import pandas as pd
import numpy as np
import tensorflow as tf
#import keras_nlp as knlp
import tensorflow_models as tfm

tpu = tf.distribute.cluster_resolver.TPUClusterResolver()

tf.config.experimental_connect_to_cluster(tpu)
tf.tpu.experimental.initialize_tpu_system(tpu)

strategy = tf.distribute.TPUStrategy(tpu)

print(f"Available number of replicas: {strategy.num_replicas_in_sync}")

Relevant log output
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-10-ae74ec612ba0> in <cell line: 1>()
----> 1 tpu = tf.distribute.cluster_resolver.TPUClusterResolver(tpu='')
      2
      3 tf.config.experimental_connect_to_cluster(tpu)
      4 tf.tpu.experimental.initialize_tpu_system(tpu)
      5

1 frames
/usr/local/lib/python3.10/dist-packages/cloud_tpu_client/client.py in __init__(self, tpu, zone, project, credentials, service, discovery_url)
    137
    138     if tpu is None:
--> 139       raise ValueError('Please provide a TPU Name to connect to.')
    140
    141     self._tpu = _as_text(tpu)

ValueError: Please provide a TPU Name to connect to.

@Leo-Lifeblood Please make sure to run this code in an environment that supports TPU, such as Google Colab with TPU runtime enabled?  I tried to run the code by modifying it, please have a look at this gist.
Thank you!

I did run it on a colander runtime with TPU enabled that’s how I got the error in the first place, I’m writing this now on my phone so I can’t check your code but what did you change to make it work? Any obvious thing I did wrong?

@Leo-Lifeblood Please try restarting the runtime and let us know?
Thank you!

I have the same issue:

on Google Colab TPU (yes it is selected, restarted etc)
listing devices with both tf.config.list_logical_devices('TPU') and tf.config.list_physical_devices('TPU')

The notebook you linked cannot find the any logical nor physical TPU either.
Also installing tensorflow-tpu fails because of a dependency conflic:
The conflict is caused by:
    tensorflow-tpu 2.16.2 depends on libtpu==2.16.0rc0
    tensorflow-tpu 2.16.1 depends on libtpu==2.16.0rc0

I have run many successful model training with TF 2.15 on TPUs in Google Colab.
Now that I turn to Keras 3 which requires tensorflow 2.16 it fails.

@poulsbo,
Looks like the issue is caused by "pip install tf-models-official". TPUs are found without a problem if not installing the package. This doesn't seem to be an issue with tf.distribute. Kindly recheck and raise the issue on tensorflow/models repo. Thank you!

@Leo-Lifeblood please see the previous comment -- it was actually meant for you, not for me.

In Colab the TPU runtimes are still using Tensorflow 2.15 and Keras 2.15, any attempt to use Keras 3 will fail.
Per this issue listing in colab repo, the last native upgrade for both TF and Keras supports only CPU and GPU runtimes.
https://github.com/googlecolab/colabtools/issues/4744


How to verify that the collector connection was made with zipkin collector

Describe the bug
With zipkin running thru docker, I can POST a span and then GET data back thru the RESTful API.
However, if I try to use this flutter plugin, I dont see any of the tracer or span when using the sample from plugin.
Steps to reproduce

Install and run docker
Run the zipkin image : docker run -d -p 9411:9411 openzipkin/zipkin
open a browser to http://localhost:9411 to verify that zipkin is running
Another verification test with zipkin is to use their swagger API to create a span and then fetch data from that span.
https://zipkin.io/zipkin-api/#/
Then I try to use the dart example code to connect and create a span or trace into zipkin
I am unable to find evidence inside of zipkin that it connected or sent any data

What did you expect to see?
After running the dart code at https://github.com/sk92129/otlp-cmdline/tree/main, I expected to see some evidence of the data inside of zipkin.  Or to find traceID, or some identifiable ID to search for inside of zipkin.
What did you see instead?
I saw that the dart command line code ran without error but there was no evidence that it connected or sent any data to the collector.
What version and what artifacts are you using?
Artifacts:  opentelemetry-sdk, collector exporter
Version: ^0.18.7 is in my pubspec.yaml
How did you reference these artifacts? pubspec.yaml
Environment
Dart Version: 3.27.0
OS: Windows 10
Additional context
Add any other context about the problem here.

I changed to the Batch version.
//final processor = SimpleSpanProcessor(exporter);
final BatchSpanProcessor processor = BatchSpanProcessor(exporter);
However, the httpClient.post does not have a check on the response code to see if the send was successful.
A breakpoint in CollectorExporter._send in the catch clauses shows this:
_SimpleUri (http://localhost:4318/v1/traces)

I am running the open source collector from docker.
https://opentelemetry.io/docs/collector/quick-start/
When I run a similar traces POST from postman, I see a 200 with
{
"partialSuccess": {}
}
Any clues?


Does brite database support update or insert method ?

If a row with a particular primary key is not present then it should create a new row like other DBs. Is there any method to execute this ?

This question is not specific to SQL Brite. Please ask general Android DB usage questions on StackOverflow. You can use the CONFLICT_REPLACE strategy on your insert for this behavior.

Alright. Thanks Jake.
On 19 Jul 2017 7:33 p.m., "Jake Wharton"<EMAIL_ADDRESS>wrote:

This question is not specific to SQL Brite. Please ask general Android DB
usage questions on StackOverflow. You can use the CONFLICT_REPLACE
strategy on your insert for this behavior.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/square/sqlbrite/issues/206#issuecomment-316397431,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZOf8dLUCvRXLg0SgMMBL2DhSlvauedJks5sPgx9gaJpZM4OcuSw
.


Add Zespół Szkół Łączności nr. 4 im. Mikołaja Kopernika w Poznaniu school

Institution/School Name
{Zespół Szkół Łączności nr. 4 im. Mikołaja Kopernika w Poznaniu}
Instiution/School Website
{Website URL}
Email Users
Please place an x between the square brackets if yes

[x] Students
[x] Academic/Teaching Staff
[ ] Other/Support Staff
[ ] Alumni

Education Levels
Please place an x between the square brackets if yes

[x] Post-graduate research
[x] Graduate School
[ ] College (University) or Undergraduate School or equivalent
[ ] Community College or equivalent
[x] High School or equivalent
[ ] Elementary School or equivalent
file.zip

I really, really  hope I did it right

@owocon I am sorry, I have to close the request without merging, because you made a mistake in a request and requested to merge too many files, most of them do not relate to the organization which you would like to add to this repository. Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!

@philipto thanks, I made another request wihthout this mistake


sw-build: Error: Cannot find module 'chalk'

Library Affected:
sw-build
Browser & Platform:
Node v7.7.2, Yarn v0.21.3
Issue or Feature Request Description:
When I run require('sw-build'), I get error: Error: Cannot find module 'chalk'
When reporting bugs, please include relevant JavaScript Console logs and links to public URLs at which the issue could be reproduced.

I just created a new project, cleared the global cache and tried to install and call generateFileManifest from sw-build. I wasn't able to repro the chalk issue, but will take another look at it shortly. Thanks for continuing to file feedback, @samthor!

I reproduced

create a new project
npm init
npm install sw-build
Make example js file that uses sw-build
Run file and notice errors

I've raised a PR to fix this BUT we need a way to test this in the future.....


issue installing gatekeeper

Hi,
I'm evaluating your software within the technology scouting phase for the billing aspects of a research project on cloud computing of the Italian Institute for Nuclear Physics (INFN). Your software seems to be interesting and promising, and in the last couple of day I tried to hav it working on a testbed. Unfortunetely since yesterday I'm nont abel to install the dashboard.
While installing the gatekeeper I receive this error trace:
getting all code dependencies for auth-utils now, be patient ~ 1-2 minutes
./install.sh: line 68: 25759 Segmentation fault      (core dumped) go get
done.
compiling and installing the package
auth-utils.go:26:2: cannot find package "code.google.com/p/gcfg" in any of:
/usr/src/pkg/code.google.com/p/gcfg (from $GOROOT)
/home/ubuntu/go/src/code.google.com/p/gcfg (from $GOPATH)
auth-utils.go:28:2: cannot find package "github.com/gorilla/mux" in any of:
/usr/src/pkg/github.com/gorilla/mux (from $GOROOT)
/home/ubuntu/go/src/github.com/gorilla/mux (from $GOPATH)
auth.go:32:2: cannot find package "github.com/mattn/go-sqlite3" in any of:
/usr/src/pkg/github.com/mattn/go-sqlite3 (from $GOROOT)
/home/ubuntu/go/src/github.com/mattn/go-sqlite3 (from $GOPATH)
done.
starting the auth-service next, you can start using it at port :8000
use Ctrl+c to stop it. The executable is located at: /home/ubuntu/go/bin/auth-utils
./install.sh: line 80: auth-utils: command not found
Can you please help me fix this?
The OS is:
Distributor ID:	Ubuntu
Description:	Ubuntu 14.04.3 LTS
Release:	14.04
Codename:	trusty
Tank in advance!
Cheers,
Andrea Guarise

Hi Andrea,
Sometimes (although rarely) go get command which basically fetches the
dependent libraries from remote repositories fails because the repos don't
respond in time or if you don't have internet connectivity.
Can you kindly simply try the 'go get' command again manually and see if it
fixes the issue?
Kind regards,
Piyush

Dr. Piyush Harsh, Ph.D.
Researcher, InIT Cloud Computing Lab
Zurich University of Applied Sciences (ZHAW)
[Site] http://piyush-harsh.info
[Google-Scholar] https://scholar.google.ch/citations?hl=en&user=kaSUIp8AAAAJ
[Research Lab] blog.zhaw.ch/icclab
Fax: +41(0)58.935.7403 GPG Keyid: 9C5A8838
On Thu, Jan 28, 2016 at 8:49 AM, andreaguarise<EMAIL_ADDRESS>wrote:

Hi,
I'm evaluating your software within the technology scouting phase for the
billing aspects of a research project on cloud computing of the Italian
Institute for Nuclear Physics (INFN) Your software seems to be interesting
and promising, and in the last couple of day I tried to hav it working on a
testbed Unfortunetely since yesterday I'm nont abel to install the
dashboard
While installing the gatekeeper I receive this error trace:
getting all code dependencies for auth-utils now, be patient ~ 1-2 minutes
/installsh: line 68: 25759 Segmentation fault (core dumped) go get
done
compiling and installing the package
auth-utilsgo:26:2: cannot find package "codegooglecom/p/gcfg" in any of:
/usr/src/pkg/codegooglecom/p/gcfg (from $GOROOT)
/home/ubuntu/go/src/codegooglecom/p/gcfg (from $GOPATH)
auth-utilsgo:28:2: cannot find package "githubcom/gorilla/mux" in any of:
/usr/src/pkg/githubcom/gorilla/mux (from $GOROOT)
/home/ubuntu/go/src/githubcom/gorilla/mux (from $GOPATH)
authgo:32:2: cannot find package "githubcom/mattn/go-sqlite3" in any of:
/usr/src/pkg/githubcom/mattn/go-sqlite3 (from $GOROOT)
/home/ubuntu/go/src/githubcom/mattn/go-sqlite3 (from $GOPATH)
done
starting the auth-service next, you can start using it at port :8000
use Ctrl+c to stop it The executable is located at:
/home/ubuntu/go/bin/auth-utils
/installsh: line 80: auth-utils: command not found
Can you please help me fix this?
The OS is:
Distributor ID: Ubuntu
Description: Ubuntu 14043 LTS
Release: 1404
Codename: trusty
Tank in advance!
Cheers,
Andrea Guarise
—
Reply to this email directly or view it on GitHub
https://github.com/icclab/cyclops-dashboard/issues/2.

Dear Andrea,
I was able to replicate your problem. The issue was the gcfg module was no
longer available from google code repositories. I have changed the location
to github repository for gcfg and it seems to be working now.
You can redeploy gatekeeper and hopefully it should work.
Kind regards,
Piyush

Dr. Piyush Harsh, Ph.D.
Researcher, InIT Cloud Computing Lab
Zurich University of Applied Sciences (ZHAW)
[Site] http://piyush-harsh.info
[Google-Scholar] https://scholar.google.ch/citations?hl=en&user=kaSUIp8AAAAJ
[Research Lab] blog.zhaw.ch/icclab
Fax: +41(0)58.935.7403 GPG Keyid: 9C5A8838
On Thu, Jan 28, 2016 at 9:09 AM, Piyush Harsh<EMAIL_ADDRESS>wrote:

Hi Andrea,
Sometimes (although rarely) go get command which basically fetches the
dependent libraries from remote repositories fails because the repos don't
respond in time or if you don't have internet connectivity.
Can you kindly simply try the 'go get' command again manually and see if
it fixes the issue?
Kind regards,
Piyush

Dr. Piyush Harsh, Ph.D.
Researcher, InIT Cloud Computing Lab
Zurich University of Applied Sciences (ZHAW)
[Site] http://piyush-harsh.info
[Google-Scholar]
https://scholar.google.ch/citations?hl=en&user=kaSUIp8AAAAJ
[Research Lab] blog.zhaw.ch/icclab
Fax: +41(0)58.935.7403 GPG Keyid: 9C5A8838
On Thu, Jan 28, 2016 at 8:49 AM, andreaguarise<EMAIL_ADDRESS>wrote:

Hi,
I'm evaluating your software within the technology scouting phase for the
billing aspects of a research project on cloud computing of the Italian
Institute for Nuclear Physics (INFN) Your software seems to be interesting
and promising, and in the last couple of day I tried to hav it working on a
testbed Unfortunetely since yesterday I'm nont abel to install the
dashboard
While installing the gatekeeper I receive this error trace:
getting all code dependencies for auth-utils now, be patient ~ 1-2 minutes
/installsh: line 68: 25759 Segmentation fault (core dumped) go get
done
compiling and installing the package
auth-utilsgo:26:2: cannot find package "codegooglecom/p/gcfg" in any of:
/usr/src/pkg/codegooglecom/p/gcfg (from $GOROOT)
/home/ubuntu/go/src/codegooglecom/p/gcfg (from $GOPATH)
auth-utilsgo:28:2: cannot find package "githubcom/gorilla/mux" in any of:
/usr/src/pkg/githubcom/gorilla/mux (from $GOROOT)
/home/ubuntu/go/src/githubcom/gorilla/mux (from $GOPATH)
authgo:32:2: cannot find package "githubcom/mattn/go-sqlite3" in any of:
/usr/src/pkg/githubcom/mattn/go-sqlite3 (from $GOROOT)
/home/ubuntu/go/src/githubcom/mattn/go-sqlite3 (from $GOPATH)
done
starting the auth-service next, you can start using it at port :8000
use Ctrl+c to stop it The executable is located at:
/home/ubuntu/go/bin/auth-utils
/installsh: line 80: auth-utils: command not found
Can you please help me fix this?
The OS is:
Distributor ID: Ubuntu
Description: Ubuntu 14043 LTS
Release: 1404
Codename: trusty
Tank in advance!
Cheers,
Andrea Guarise
—
Reply to this email directly or view it on GitHub
https://github.com/icclab/cyclops-dashboard/issues/2.

HI Piyush,
Thanks for the fast answer. I just checked out the code from scratch and the original issue is fixed.  The executable is located at: /home/ubuntu/go/bin/auth-utils
install.sh: line 80: auth-utils: command not found
Cheers,
Andrea

Dear Andrea,
Looks like you are having trouble cloning these git repos. You can do this
manually also.
Under the go/src/github.com/ folder simply clone mattn/go-sqlite3 code repo
and also for other dependencies whose git clone fails.
Make sure that you create the author's folder first inside the src folder.
So after cloning manuall, the folder path should look like: go/src/
github.com/mattn/go-sqlite3/
Let me know how it goes.
BR,
Piyush

Dr. Piyush Harsh, Ph.D.
Researcher, InIT Cloud Computing Lab
Zurich University of Applied Sciences (ZHAW)
[Site] http://piyush-harsh.info
[Google-Scholar] https://scholar.google.ch/citations?hl=en&user=kaSUIp8AAAAJ
[Research Lab] blog.zhaw.ch/icclab
Fax: +41(0)58.935.7403 GPG Keyid: 9C5A8838
On Thu, Jan 28, 2016 at 9:51 AM, andreaguarise<EMAIL_ADDRESS>wrote:

HI Piyush,
Thanks for the fast answer. I just checked out the code from scratch and
the original issue is fixed.  The executable is located at:
/home/ubuntu/go/bin/auth-utils
install.sh: line 80: auth-utils: command not found
Cheers,
Andrea
—
Reply to this email directly or view it on GitHub
https://github.com/icclab/cyclops-dashboard/issues/2#issuecomment-176066624
.

Also if you are doing things manually, do not forget to 'source
$HOME/.profile' before attempting "go get" and "go install" commands.
Piyush

Dr. Piyush Harsh, Ph.D.
Researcher, InIT Cloud Computing Lab
Zurich University of Applied Sciences (ZHAW)
[Site] http://piyush-harsh.info
[Google-Scholar] https://scholar.google.ch/citations?hl=en&user=kaSUIp8AAAAJ
[Research Lab] blog.zhaw.ch/icclab
Fax: +41(0)58.935.7403 GPG Keyid: 9C5A8838
On Thu, Jan 28, 2016 at 10:04 AM, Piyush Harsh<EMAIL_ADDRESS>wrote:

Dear Andrea,
Looks like you are having trouble cloning these git repos. You can do this
manually also.
Under the go/src/github.com/ folder simply clone mattn/go-sqlite3 code
repo and also for other dependencies whose git clone fails.
Make sure that you create the author's folder first inside the src folder.
So after cloning manuall, the folder path should look like: go/src/
github.com/mattn/go-sqlite3/
Let me know how it goes.
BR,
Piyush

Dr. Piyush Harsh, Ph.D.
Researcher, InIT Cloud Computing Lab
Zurich University of Applied Sciences (ZHAW)
[Site] http://piyush-harsh.info
[Google-Scholar]
https://scholar.google.ch/citations?hl=en&user=kaSUIp8AAAAJ
[Research Lab] blog.zhaw.ch/icclab
Fax: +41(0)58.935.7403 GPG Keyid: 9C5A8838
On Thu, Jan 28, 2016 at 9:51 AM, andreaguarise<EMAIL_ADDRESS>wrote:

HI Piyush,
Thanks for the fast answer. I just checked out the code from scratch and
the original issue is fixed.  The executable is located at:
/home/ubuntu/go/bin/auth-utils
install.sh: line 80: auth-utils: command not found
Cheers,
Andrea
—
Reply to this email directly or view it on GitHub
https://github.com/icclab/cyclops-dashboard/issues/2#issuecomment-176066624
.

Ok, I've figured out what this issue was:
The dependencies where correctly cloned, but I had gccgo-go package installed on the machine, and this (probably with an older version of go) was masking the 1.4.2 go version needed by one of the dependencies. Now gatekeeper correctly builds and starts.
I think you can close the issue.
Thank you very much!
Andrea

Issue resolved!


python310Packages.ytmusicapi: 0.25.1 -> 1.0.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.ytmusicapi is: Python API for YouTube Music
meta.homepage for python310Packages.ytmusicapi is: https://github.com/sigma67/ytmusicapi
meta.changelog for python310Packages.ytmusicapi is: https://github.com/sigma67/ytmusicapi/releases/tag/1.0.0
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.0.0 with grep in /nix/store/g1w17d3b3djnl2sczbimfw674pg2ks02-python3.10-ytmusicapi-1.0.0
found 1.0.0 in filename of file in /nix/store/g1w17d3b3djnl2sczbimfw674pg2ks02-python3.10-ytmusicapi-1.0.0

Rebuild report (if merged into master) (click to expand)

8 total rebuild path(s)

8 package rebuild(s)

First fifty rebuilds by attrpath
libsForQt5.audiotube
mopidy-youtube
mopidy-ytmusic
plasma5Packages.audiotube
python310Packages.ytmusicapi
python311Packages.ytmusicapi
spotdl
ytmdl

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/g1w17d3b3djnl2sczbimfw674pg2ks02-python3.10-ytmusicapi-1.0.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python310Packages.ytmusicapi https://github.com/r-ryantm/nixpkgs/archive/f0f53d46971b8ab190ccd8f097c27d45a3f01532.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/g1w17d3b3djnl2sczbimfw674pg2ks02-python3.10-ytmusicapi-1.0.0
ls -la /nix/store/g1w17d3b3djnl2sczbimfw674pg2ks02-python3.10-ytmusicapi-1.0.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages failed to build:

mopidy-ytmusic
spotdl

5 packages built:

libsForQt5.audiotube
mopidy-youtube
python310Packages.ytmusicapi
python311Packages.ytmusicapi
ytmdl

Maintainer pings
cc @dotlambda for testing.

@ofborg build mopidy-ytmusic

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.ytmusicapi is: Python API for YouTube Music
meta.homepage for python310Packages.ytmusicapi is: https://github.com/sigma67/ytmusicapi
meta.changelog for python310Packages.ytmusicapi is: https://github.com/sigma67/ytmusicapi/releases/tag/1.0.1
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.0.1 with grep in /nix/store/rc990hn3vvy3hrnkjc0s1f11yq99rg38-python3.10-ytmusicapi-1.0.1
found 1.0.1 in filename of file in /nix/store/rc990hn3vvy3hrnkjc0s1f11yq99rg38-python3.10-ytmusicapi-1.0.1

Rebuild report (if merged into master) (click to expand)

8 total rebuild path(s)

8 package rebuild(s)

First fifty rebuilds by attrpath
libsForQt5.audiotube
mopidy-youtube
mopidy-ytmusic
plasma5Packages.audiotube
python310Packages.ytmusicapi
python311Packages.ytmusicapi
spotdl
ytmdl

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/rc990hn3vvy3hrnkjc0s1f11yq99rg38-python3.10-ytmusicapi-1.0.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python310Packages.ytmusicapi https://github.com/r-ryantm/nixpkgs/archive/0482495c03de7314376bcad0b75c4600379acace.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/rc990hn3vvy3hrnkjc0s1f11yq99rg38-python3.10-ytmusicapi-1.0.1
ls -la /nix/store/rc990hn3vvy3hrnkjc0s1f11yq99rg38-python3.10-ytmusicapi-1.0.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages failed to build:

mopidy-ytmusic
spotdl

5 packages built:

libsForQt5.audiotube
mopidy-youtube
python310Packages.ytmusicapi
python311Packages.ytmusicapi
ytmdl

Maintainer pings
cc @dotlambda for testing.

Result of nixpkgs-review pr 225729 run on x86_64-linux 1

9 packages built:

libsForQt5.audiotube
mopidy-youtube
mopidy-youtube.dist
python310Packages.ytmusicapi
python310Packages.ytmusicapi.dist
python311Packages.ytmusicapi
python311Packages.ytmusicapi.dist
ytmdl
ytmdl.dist


probe gently for windows paths before correcting

I guess I can close this, right? Or is it still pending?


Validate transaction before writing it to the backlog

Right now, bigchaindb.web.views only verifies the signature. We should call validate_transaction instead so that we can catch double spends and other errors before writing the transaction to the backlog, and send whatever exception back to the client

The current code (write_transaction() in the Bigchain class; see core.py) assigns the transaction to a random node for inclusion in a block. It's possible that it might assign itself to put the transaction in the block. That means it might do both of the initial transaction validations. It seems to me that it would be better for a different node to be assigned to validate and put the transaction in the block, i.e. choose from a list of federation nodes excluding the initial node.
Edge case: If the federation only has one node, then that node must do both of the initial validations.

The current code (write_transaction() in the Bigchain class; see core.py) assigns the transaction to a random node for inclusion in a block. It's possible that it might assign itself to put the transaction in the block.

This does not happen. A node assigns the transaction to a random federation node excluding itself. Bigchain.federation_nodes contains all the federation nodes except itself.
But I agree that its bad for the node receiving the transaction to validate it before putting it into the backlog. If the node is faulty it may reject valid transactions.
I propose that we close this issue and take care of improving resilience against faulty nodes when sending transactions for when we separate the server and client code.

If only one node is responsible for validating a transaction before that transaction gets into a block, then if that one node is faulty, it could allow invalid transactions into its blocks. The other nodes will catch the invalid transactions, of course, but it's a bit late:  the whole block is ruined (invalid), and all the valid transactions in it must be cycled back to the backlog for reconsideration.
That said, it's very easy to detect when some node said a transaction was invalid whereas all the others say it's valid. We already have some issues for that: Issue #351 & Issue #354 .
This issue could be closed.


Listening for a combined event does not work

Hi,
From this example snippet:
// Set the events to be notified for
  auto events = { Event::open | Event::is_dir, // some events occur in combinations
                  Event::access,
                  Event::create,
                  Event::modify,
                  Event::remove,
                  Event::move };

I got the idea that I was able to listen for combination of event. E.g. Event::open | Event::is_dir would fire only when a directory was opened. However, this is not the case. An event will be fired with each event that either contains Event::open or Event::is_dir. This means that the logical or'ing of events is actually redundant now because these two following snippets are actually equal when it comes to listening for events:
auto events = { Event::open | Event::is_dir }

auto events = { Event::open, Event::is_dir }

It all boils down to this function in Event.cpp :
bool containsEvent(const Event& allEvents, const Event& event)
{
    if (static_cast<std::uint32_t>(event & allEvents)) {
        return true;
    } else {
        return false;
    }
}

Which basically just checks that any bit is up.
So, I would have liked to listen for events of directories being created and this is not possible with the current API without listening for all events and filtering them manually. Example code I presented in the beginning made me think listening for combination events is possible, but that was not the case.
What was the intended use of the or'ing of events? Is this a bug or wanted behaviour?

Hi @TeemuStenhammar, thx for using the library. Sounds like a Bug. It should be possible to listen for the described combonation of events. I am currently on xmas holidays and will have a detailed look in a couple of days.

@TeemuStenhammar I created a pull request with a fix and a proper test (see #62)


Cyrille37 verify host

Hello
At dev time it could be fast to use a fake ssl certificate.
Option verify_ssl was previously added but it's not enough when self-signed certificate does not match the domain name. So this PR add to the stack the verify_host request option (already present in Lush RequestOptions class).
Now I can use the fake & dummy ssl-cert-snakeoil.pem already present on my linux host ;-)
Cheers.

related to #55 #58

thanks!