Issue with invalid entry IDs (isPermaLink not set to false)

[x] I was not able to find an open or closed issue matching what I'm seeing.
[x] This is not a question. (Questions should be asked on slack (Signup for Slack here) or our forums.)

We're using entry IDs like news-27. Zend\Feed\Uri#isValid is returning true for these IDs, and isPermaLink is therefore not being set to false.
This results in the feed not validating:
line 16, column 19: guid must be a full URL, unless isPermaLink attribute is false: news-27 (10 occurrences) [help]

      <guid>news-27</guid>

Code to reproduce the issue

$entry->setId('news-27');

Expected results
These IDs are not valid URLs, and therefore isPermaLink should be set to false.
Actual results
isPermaLink is not set.

@glen-84

Zend\Feed\Uri#isValid is returning true for these IDs…

Can you provide an unit test which illustrates the problem? At the moment I can not reproduce the problem. Thanks!

@froschdesign,
What does the following code output for you?
var_dump(Uri::factory('news-27')->isValid());

@glen-84
In the meantime, I wanted to write an unit test myself, but there is no test class for Zend\Feed\Uri! I think this should be ported from zend-uri.
I do not know why Atom and RSS are handled differently here:
https://github.com/zendframework/zend-feed/blob/8a54f0e8fbafba349749d956c40d3cb4c0710522/src/Writer/Renderer/Entry/Atom.php#L287-L295
https://github.com/zendframework/zend-feed/blob/8a54f0e8fbafba349749d956c40d3cb4c0710522/src/Writer/Renderer/Entry/Rss.php#L299-L301
Btw. the class includes a method isAbsolute which can be help.

@glen-84
Can you test #99? Thanks in advance!

@froschdesign It works! 🎉 Thanks a lot.
(apologies for the late reply)

@glen-84
No problem. Can you look at #90 and give me a feedback?


Add Etc module with methods for fetching user information

¡Hola!
Would you like to include Ruby inspired Etc module to the standard library? Or do I publish it as shard?
Disclaimer: I just started playing with the cool new language today, so might have some funny things in it.

Hola!
Thank you for this. We have to analyze this a bit. It's way too unix specific. What would happen in Windows, this module won't be available? I think the standard library shouldn't have too platform-specific functionality, but I don't know.

Seems that in Ruby the non-existing methods just return nil. And getlogin on Windows returns value of  USER or USERNAME environment variable. And anyway, in Ruby the module has a couple of other methods too.
Your call, for me this was just a fun exercise. =)

If we want this it should go to the new System module and avoid prefixes such as get.

Yes, having this in System sounds good. I'd check with @ysbaddaden to generate the correct bindings, though.

Bindings for getlogin and related syscalls should already be available in posix, they just need to be enabled for Crystal, then build targets again.

#codetriage
So it appears that this was left in a state where the following seem to be the path forward:

enable bindings for relevant syscalls by submitting & merging a PR to https://github.com/ysbaddaden/posix/
Do something with the change (uncertain of what this is)
Add some of the code & specs from this PR under the System module without get prefix, so System.login would return miketheman on my system
Profit!!

If that's correct and desirable, I'm happy to take a stab at this, but I'm uncertain of what Step 2 would be.
@ysbaddaden the README on the posix repo isn't very clear as to what happens next with changes there.


crash when opening context menu

Hello
when i use your plugin with CopyIssue-Xcode-Plugin it causes a crash. I talked with the author of that plugin here and he was kind enough to help track the issue to your plugin. It seems yours is preventing the the context menu to appear which causes a crash.
Can you take a look and make a fix so everyone can enjoy both these great plugins?
thanks

This issue may relate https://github.com/MellongLau/AMAppExportToIPA-Xcode-Plugin/issues/3, please try the latest version.

yeap...thanks :) i did not see that! closing this so you do not have duplicates

Thanks, please kindly help to test the v1.1 for this issue, I will close #3 if it can not be reproduced.


Latest version of DPF repeatedly resizes on MacOS REAPER.

This bug was reported on my plugin:
https://www.youtube.com/watch?v=cJen6BnAPcE
I tried to reproduce using Distrho Mini-Series 3 Band EQ. I checked out Mini-Series, built it for MacOS, loaded it in REAPER, and did not observe the bug. Then I noticed that Mini-Series is using an older DPF. I updated the dpf submodule to the latest, rebuilt Mini-Series, and then the 3 Band EQ did reproduce the bug; this seems to indicate that the bug has been introduced in a recent version of DPF.

I used git bisect on the dpf submodule.
Last good revision before this bug started happening:
commit 981e61a807280ea91bece2780e75ee3a48949675
Author: falkTX<EMAIL_ADDRESS>Date:   Sun Sep 30 14:38:26 2018 +0200

    Small adjustments to Window

The next revision crashes REAPER on MacOS:
commit a1748a1a9fd1ac6f8b8abaa26cec64f121d13d7e
Author: falkTX<EMAIL_ADDRESS>Date:   Sun Sep 30 16:03:28 2018 +0200

    Assume Windows to be resizable by default; Add UI::isUserResizable

The following revision exhibits the bug:
commit b526e381cc065e44dc8ec7620c1725b203a3ee85 (HEAD, refs/bisect/bad)
Author: falkTX<EMAIL_ADDRESS>Date:   Sun Sep 30 16:48:43 2018 +0200

    Fix recursive resizing in certain DAWs

The weird thing is that I haven't seen this bug happen on any other DAW, and it doesn't happen on the Linux or Windows flavors of REAPER.

I think this is caused by fResizable being initialized to true in the window constructor.  I believe this is in preparation for having resizable uis with fixed aspect ratio and falktx turned on the resizable flag, but I don't think this feature is ready yet... (?)

I ended up not finishing, correct.
Actually, now looking closer it is better I revert a1748a1a9fd1ac6f8b8abaa26cec64f121d13d7e.
I should push these changes to a branch and not master, then only merge when complete.

@michaelwillis Please update DPF and retest, I guess it will work fine again for now.
Since we are here discussing resizable UIs, I am thinking of making that a build-time, per-plugin macro.
Something that will be added in DistrhoPluginInfo.h.
We make UIs non-resizable by default, and allow to have this macro for devs that want a specific plugin UI to be resizable (NOTE: this is resizing by the user, you can always do it manually in the plugin)
Just a simple #define DISTRHO_UI_USER_RESIZABLE 1 to enable it.
This will make everything much simpler.
@pdesaulniers since you already use resizing, what do you think of the above?

@falkTX Seems like a clean way of dealing with this.
I haven't really used user resizing, though, since it wouldn't work so well with my setSize resize handle approach. IIRC, the window would end up oscillating between two sizes after a resize with the handle. I want to keep that handle, because I use it to make the VST2 UI resizable.
I'd like to give this feature another go. A plugin that would benefit from this feature would be https://github.com/pdesaulniers/wolf-spectrum . It uses my fork of DPF for now, but it should be easy to switch it back to upstream DPF.

FYI DISTRHO_UI_USER_RESIZABLE macro has now been pushed to master.
The meters and info example plugins have it enabled, you can see their UIs scale with the host if you load the LV2 versions :D

@falkTX Nice, thanks for the heads up!


feat: add dns caching for queries

This PR adds DNS caching for queries. The TTL is set differently for different queries.

IP Address -> 60 seconds
Pi -> 1 year
Help -> 1 day
Weather -> 1 hour (pending response has 1 second TTL)

Other calculated queries have 15 minute caching

Aerial Distance -> 15 minutes
Base Conversion -> 15 minutes
CIDR -> 15 minutes
Dict -> 15 minutes
Epoch -> 15 minutes
Currency Conversion -> 15 minutes
Num2Words -> 15 minutes
Sudoku -> 15 minutes
Unit Conversion -> 15 minutes

Error response has still 1 second TTL.
Values can be changed if required.
Thanks for this amazing tool.

This is nice, thanks! For readability, let's define the TTL as a global const ttl inside each of the services and define the values there and use that in the fmt.Sprintf().

This is nice, thanks! For readability, let's define the TTL as a global const ttl inside each of the services and define the values there and use that in the fmt.Sprintf().

Have refactored it.

I hope this reduces the load on the hosting server in some capacity.
I really love efficiency so if later on you get some metric on load reduction then I will be super eager to know it. I know you are super busy so if you can't then I understand.
I admire your work.
Thanks

Hi @ShreyAmbesh. There isn't a means to get exact stats, but the service only gets sparse traffic. Load wouldn't be a factor unless the service is processing a tens of thousands of requests per second non-stop, which it isn't.

Ohh okay my bad. I thought it's a good tool so would be getting high traffic.
Thanks for clarification.


[Feature Request] SCD to MP3/OGG

Is there any chance we could get a SCD to MP3/OGG function added to the program?
Love the work, keep it up. Thank you!

You can currently use the Bulk SCD Audio Extractor

Oooooh, that makes sense. Thank you!


[Event Request Change] page 8626 "Config. Package Records" - OnBeforeValidatePackageData

In a previous request we asked for an event OnBeforeValidatePackageData. A small detail was forgotten when implementing that event. A CurrPage.Update() statement was forgotten when before performing the exit:
local procedure ValidatePackageData(ColumnID: Integer)
var
    ...
    IsHandled := false;
    OnBeforeValidatePackageData(Rec, MatrixCellData, PackageColumnField, ColumnID, IsHandled);
    //A100F0001.Event18.05.os A200F0003.Event18.05.os
    //if IsHandled then
    //    exit;
    //A100F0001.Event18.05.oe A200F0003.Event18.05.oe
    //A100F0001.Event18.05.ns A200F0003.Event18.05.ns
    if IsHandled then begin
        CurrPage.Update();
        exit;
    end;
    //A100F0001.Event18.05.ne A200F0003.Event18.05.ne

    MatrixCellData[ColumnID] := DelChr(MatrixCellData[ColumnID], '<>', ' ');

I will add IncludeSender in the publisher of this event, so you can call update from sender param if you need it.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


fix: solve timeout when api server hostname is given

docs say # api_server_hostname: k8s.example.com # optional: DNS for the k8s API LoadBalancer. After the script has run, create a DNS record with the address of the API LoadBalancer.
And indeed, the user can't do this BEFORE running the script, not knowing the IP of the API LB created.
But since we set that hostname into the kubeconfig, when we do save_kubeconfig(master_count) and in the next command do kubectl cluster-info, this can't work - since at that time the DNS is not configured to point to that api loadbalancer.
My suggested fix is to set the IP of the LB into the kubeconfig. Then all will work and the user can, at his pace, configure his DNS to point to the api lb for that hostname - and only then adapt the kubeconfig, if wanted. SSL will work since we configure tls-sans for that hostname anyway. But kubeconfig, we can't do this for the user, having no control over if and when he configures his DNS.
`

Thanks for the PR! I agree this is a better approach overall, since it's unlikely that people are going to interact with the API via hostname directly anyway.


ZeroDivisionError: float division by zero

Traceback (most recent call last):
File "YouTube.py", line 190, in
main()
File "YouTube.py", line 182, in main
videoIds = ytmusic.search_songs(playlist['tracks'])
File "YouTube.py", line 74, in search_songs
targetSong = self.get_best_fit_song_id(result, song)
File "YouTube.py", line 32, in get_best_fit_song_id
durationMatch = 1 - abs(duration - song['duration']) * 2 / song['duration']
ZeroDivisionError: float division by zero

I think we need a 0 check for song['duration'] what do you think @sigma67 I'm trying it right now in this huge playlist of 1200 songs. If it works I can get a pr out or something.

Can you point the specific song this is happening with? Could certainly introduce a workaround for the case that the duration is missing

Alternatively please link the playlist in question

I have the same problem, I was trying with this playlist

I think we need to find a song where this consistently occurs, it no longer works for me with the above playlist

I will try to work on this bug in my spare time. I will let you know what I find

This isn't a consistent bug and I think it is in the way the YTMusic library parses songs, sometimes one of the search results will be empty and thats when the bug occurs.
I tried with the following code to print the song information:
         durationMatch = None
         if 'duration' in res and res['duration']:
                durationItems = res['duration'].split(':')
                duration = int(durationItems[0]) * 60 + int(durationItems[1])
                print(song)
                durationMatch = 1 - abs(duration - song['duration']) * 2 / song['duration']

and the output is:
{'artist': 'Don Toliver Travis Scott', 'name': 'Flocky Flocky (feat. Travis Scott)', 'album': 'Life of a DON', 'duration': 183.513}
{'artist': 'Don Toliver Travis Scott', 'name': 'Flocky Flocky (feat. Travis Scott)', 'album': 'Life of a DON', 'duration': 183.513}
{'artist': 'Don Toliver Travis Scott', 'name': 'Flocky Flocky (feat. Travis Scott)', 'album': 'Life of a DON', 'duration': 183.513}
{'artist': 'Don Toliver Travis Scott', 'name': 'Flocky Flocky (feat. Travis Scott)', 'album': 'Life of a DON', 'duration': 183.513}
{'artist': 'Don Toliver Travis Scott', 'name': 'Flocky Flocky (feat. Travis Scott)', 'album': 'Life of a DON', 'duration': 183.513}
{'artist': 'Don Toliver Travis Scott', 'name': 'Flocky Flocky (feat. Travis Scott)', 'album': 'Life of a DON', 'duration': 183.513}
{'artist': 'Don Toliver Travis Scott', 'name': 'Flocky Flocky (feat. Travis Scott)', 'album': 'Life of a DON', 'duration': 183.513}
{'artist': '', 'name': '', 'album': '', 'duration': 0.0}
Traceback (most recent call last):
  File "/Users/samurai/Documents/progetti/spotifyplaylist_to_ytmusic/YouTube.py", line 191, in <module>
    main()
  File "/Users/samurai/Documents/progetti/spotifyplaylist_to_ytmusic/YouTube.py", line 183, in main
    videoIds = ytmusic.search_songs(playlist['tracks'])
  File "/Users/samurai/Documents/progetti/spotifyplaylist_to_ytmusic/YouTube.py", line 75, in search_songs
    targetSong = self.get_best_fit_song_id(result, song)
  File "/Users/samurai/Documents/progetti/spotifyplaylist_to_ytmusic/YouTube.py", line 33, in get_best_fit_song_id
    durationMatch = 1 - abs(duration - song['duration']) * 2 / song['duration']
ZeroDivisionError: float division by zero

as you can see the last result is has all the values empty.
One thing I noticed is that this bug is not tied to a particular song but it's tied to a particular playlist. If I try to put the same "bugged" song to another playlist it will be fine.
Maybe to work out this bug, we can remove the "bad" results (or skip it directly) and then do all the math so this problem can't happen.
Let me know what do you think

Oh so the dictionary is completely empty? That seems like it would be a bug in ytmusicapi. Can you post the search query used for this empty result?

Turns out that the search query is empty:
Query: Don Toliver Kali Uchis Drugs N Hella Melodies
Query: Don Toliver Travis Scott Flocky Flocky
Query:
Traceback (most recent call last):
  File "/Users/samurai/Documents/progetti/spotifyplaylist_to_ytmusic/YouTube.py", line 201, in <module>
    main()
  File "/Users/samurai/Documents/progetti/spotifyplaylist_to_ytmusic/YouTube.py", line 193, in main
    videoIds = ytmusic.search_songs(playlist['tracks'])
  File "/Users/samurai/Documents/progetti/spotifyplaylist_to_ytmusic/YouTube.py", line 78, in search_songs
    targetSong = self.get_best_fit_song_id(result, song)
  File "/Users/samurai/Documents/progetti/spotifyplaylist_to_ytmusic/YouTube.py", line 35, in get_best_fit_song_id
    durationMatch = 1 - abs(duration - song['duration']) * 2 / song['duration']
ZeroDivisionError: float division by zero

Very strange

After debugging for some time I found what was causing the bug for me.
In the playlist there were some songs that where removed from Spotify for some reason so the song list will have those songs with all the values empty

Got this error today, any workaround?

Got this error today, any workaround?

I got this today and what I did was to check where it is failling in the console:
YouTube tracks: 360/1571
Traceback (most recent call last):
...
ZeroDivisionError: float division by zero

With that, go to your Spotify playlist and check for the songs after "360". One of them will probably be a 0:00 minute song.
Remove it from the playlist (worth checking the entire playlist for songs "0:00" long).
And then, just re-run the command.


Bot starts, but doesn't receive updates

Hi.
I'm developing a bot to send messages to a channel.
Locally, while I develop the bot and run it, it works fine and receives all commands.
But in a production environment, were a firewall blocks all requests by default, it doesn't work. My bot isn't receiving messages or commands.
I already allowed "api.telegram.org:443" in the firewall. This liberation works. I can send requests to it via telnet. But wasn't enough.
There another port or address that I need allow?

If you are using polling api.telegram.org:443 is enough (for everything).
What do you mean with "send requests via telnet"? Are using Webhooks?  Can you elaborate more on your setup? Does any of the examples works on your prod environment?

Hi @mukel !
I used telnet just to test the connection and check if firewall really allowed the endpoint... And works.
About the prod. environment (overviewed): my bot is running on application in a docker container in a kubernetes Pod. No replications were made.
I also checked the keepalive timeouts and seems to be OK.
Locally, in development environment, It works fine.
There some errors logs about the connection to Telegram Bot API?

@mukel
Follow some verbose outputs from wget and curl:
wget
$ wget https://api.telegram.org/bot<token>/getMe
--2019-03-22 13:23:24--  https://api.telegram.org/bot<token>/getMe
Resolving api.telegram.org (api.telegram.org)... <IP_ADDRESS>, 2001:67c:4e8:f004::9
Connecting to api.telegram.org (api.telegram.org)|<IP_ADDRESS>|:443... connected.

curl
$ curl -v https://api.telegram.org/bot<token>/getMe
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to api.telegram.org (<IP_ADDRESS>) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS handshake, Client hello (1):

@mukel
The problem isn't in your library.
Thanks for that.
Great work!

Good to hear you found the culprit. Please do spawn an issue if you have any further trouble with your bot.

Okay, @mukel .
Thanks for the library and your availability.


UIWindow: add RX Observables on UIWindow

I don' t know how to write a UnitTest with a UIWindow (not possible to instantiate a UIWindow in a XCTestCase). If you know how to do this, please modify the PR or leave a comment.

Codecov Report

Merging #5 into swift-4.0 will decrease coverage by 3.86%.
The diff coverage is 0%.

@@              Coverage Diff              @@
##           swift-4.0       #5      +/-   ##
=============================================
- Coverage      92.75%   88.88%   -3.87%
=============================================
  Files              2        3       +1
  Lines             69       72       +3
  Branches           6        6
=============================================
  Hits              64       64
- Misses             1        4       +3
  Partials           4        4

Impacted Files
Coverage Δ

Sources/RxViewController/UIWindow+Rx.swift
0% <0%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b32c9ae...9ae27b8. Read the comment docs.

I'd like to keep this library simple. UIWindow doesn't seem to be this repo's responsibility.

ok thanks for the feedback. I close this PR.


Can’t read anymore

Now the sftp pages are styled in code colours I am unable to read them in iOS.
currently attempting to edit a file in an emergency and it’s tiny light orange font, I can’t read it.
please could we have a way of changing this or turning off the styling?

-> iOS Settings > WebSSH > SFTP > Text Editor Strategy > Standard


Refactored recordPageView to add custom attributes in one param

Previously, users would add custom page attributes to page view events by adding them as individual fields into the object sent in the recordPageView() command. However, to keep parity with how users send in custom session attributes, this change will allow users to send the custom page attributes together in a separate field.
For example:
//Before
{
  pageId: '/page_view_two',
  pageTags: ['pageGroup1'],
  customPageAttributeString: 'customPageAttributeValue',
  customPageAttributeNumber: 1,
  customPageAttributeBoolean: true
}

//After
{
  pageId: '/page_view_two',
  pageTags: ['pageGroup1'],
  pageAttributes: {
    customPageAttributeString: 'customPageAttributeValue',
    customPageAttributeNumber: 1,
    customPageAttributeBoolean: true
  }
}

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

What happens if I add an attribute named pageTags to the pageAttributes object?

What happens if I add an attribute named pageTags to the pageAttributes object?

Given implementation, the one in the pageAttributes object would override the value provided by pageTags


May I use your UNET model as a example in a public presentation...

Its at the embedded vision summit...and I will provide attribution to your github code.
I find it to be the cleanest and simplest expression of the model.
I would has expected the conv2d parameter to be 'valid' instead of 'same' as I suspect the original authors implemented it in Caffe. But that's OK.
Kindly indicate if you will support this.

Of course, it's fine, I released this code with MIT license, so feel free to use it.
Good luck with your presentation!

Thank you! I'm using a variation that (I think) is closer to the paper (added bottom-of-U conv w/1024 feature maps, conv5_B). I also lined up the left convs with the right convs. You quick review would be appreciated (though not necessary)

def get_orig_unet():
inputs = Input((img_rows, img_cols, 1))
conv1_L = Conv2D(64, (3, 3), activation='relu', padding='same')(inputs)
conv1_L = Conv2D(64, (3, 3), activation='relu', padding='same')(conv1_L)
pool1 = MaxPooling2D(pool_size=(2, 2))(conv1_L)

conv2_L = Conv2D(128, (3, 3), activation='relu', padding='same')(pool1)
conv2_L = Conv2D(128, (3, 3), activation='relu', padding='same')(conv2_L)
pool2 = MaxPooling2D(pool_size=(2, 2))(conv2_L)

conv3_L = Conv2D(256, (3, 3), activation='relu', padding='same')(pool2)
conv3_L = Conv2D(256, (3, 3), activation='relu', padding='same')(conv3_L)
pool3 = MaxPooling2D(pool_size=(2, 2))(conv3_L)

conv4_L = Conv2D(512, (3, 3), activation='relu', padding='same')(pool3)
conv4_L = Conv2D(512, (3, 3), activation='relu', padding='same')(conv4_L)
pool4 = MaxPooling2D(pool_size=(2, 2))(conv4_L)

conv5_B = Conv2D(1024, (3, 3), activation='relu', padding='same')(pool4)
conv5_B = Conv2D(512, (3,3), activation='relu', padding='same')(conv5_B)

up1 = concatenate([Conv2DTranspose(512, (2, 2), strides=(2, 2), padding='same')(conv5_B), conv4_L], axis=3)
conv3_R = Conv2D(512, (3, 3), activation='relu', padding='same')(up1)
conv3_R = Conv2D(512, (3, 3), activation='relu', padding='same')(conv3_R)

up2 = concatenate([Conv2DTranspose(256, (2, 2), strides=(2, 2), padding='same')(conv3_R), conv3_L], axis=3) # 24, 24
conv2_R = Conv2D(256, (3, 3), activation='relu', padding='same')(up2)
conv2_R = Conv2D(256, (3, 3), activation='relu', padding='same')(conv2_R)

up3 = concatenate([Conv2DTranspose(128, (2, 2), strides=(2, 2), padding='same')(conv2_R), conv2_L], axis=3) # 48, 48
conv1_R = Conv2D(128, (3, 3), activation='relu', padding='same')(up3)
conv1_R = Conv2D(128, (3, 3), activation='relu', padding='same')(conv1_R)

up4 = concatenate([Conv2DTranspose(64, (2, 2), strides=(2, 2), padding='same')(conv1_R), conv1_L], axis=3)
conv_out = Conv2D(64, (3, 3), activation='relu', padding='same')(up4)
conv_out = Conv2D(64, (3, 3), activation='relu', padding='same')(conv_out)

conv_out_final = Conv2D(1, (1, 1), activation='sigmoid')(conv_out)

model = Model(inputs=[inputs], outputs=[conv_out_final])

model.compile(optimizer=Adam(lr=1e-5), loss=dice_coef_loss, metrics=[dice_coef])

return model


Fix to #2026 - consider different expansion for complex equality predicates (e.g. (a == b) == c) for some cases.

This is a performance/sqlgen improvement.
Currently expressions like (a == b) == (c) are rewritten into case statements:
(CASE WHEN a == b then 1 ELSE 0) == (CASE WHEN c == 1 then 1 ELSE 0)
This is not necessary as we only need to expand the part that is complex (a==b) and we can leave the simple part (c) intact.

:shipit:


You are not allowed to access this resource

from NHentai import NHentai, CloudFlareSettings
nhentai_async = NHentai(request_settings=CloudFlareSettings(csrftoken="hne[...]", cf_clearance="1qDg[...]"))
print(nhentai_async.get_page(page=1))

Being locked out of the api even with the right cf cookies.  Error message " NHentai.core.handler.ApiError: You are not allowed to access this resource "

I'm closing this issue as the new version fixes it.
Enma v2.0.2


[Tracking] ERC-721 extensions

### Tasks
- [ ] https://github.com/OpenZeppelin/rust-contracts-stylus/issues/19
- [ ] https://github.com/OpenZeppelin/rust-contracts-stylus/issues/66
- [ ] https://github.com/OpenZeppelin/rust-contracts-stylus/issues/65
- [ ] https://github.com/OpenZeppelin/rust-contracts-stylus/issues/67
- [ ] https://github.com/OpenZeppelin/rust-contracts-stylus/issues/68
- [ ] https://github.com/OpenZeppelin/rust-contracts-stylus/issues/56
- [ ] https://github.com/OpenZeppelin/rust-contracts-stylus/issues/233

Closing as all issues completed.


Create sciencecore:climaterisk demo

As part of the NASA TOPS-T ScienceCore:climaterisk project, we have created a set of .ipynb notebooks that teach users how to use NASA data to understand flood and wildfire.
Create a myst version of the sciencecore:climaterisk project that is accessible as

a static myst HTML rendered site
a dynamic HTML site backed by Thebe (authentication via GitHub)
magic link to launch into JupyterLab environment

Closing this as done, because all subtasks are complete


Come up with data augmentation

I added the code snippet below for this at split_train_test().
To get more flexibility, I think 2 can change as a variable.
    if data_aug:
        print('Started Data augmentation...')
        window_df_aug = window.generate_sequence(df[["timestamp", "Label", "EventId", "deltaT"]],
                                            window_size=float(window_size) * 60 * 2,
                                            step_size=float(step_size) * 60 * 2
                                            )
        window_df = pd.concat([window_df, window_df_aug]

Yeah, you can definitely modify the code


When i type forge init --force / forge init

It give this error :-
ZOE ERROR (from forge): zoeParseOptions: unknown option (--force)
ZOE library version 2013-02-16
it's snap error pre-installed in linux , so snap revokes foundry operation.
Anyone please help .

anvil is running
but not foundry command

Please reach out on Telegram as this is not a bug in Foundry or in the book and it is easier to figure out what is happening there 🙂

i also face same issue. anyone know about it


How to stop and remove playing audio?

    this.s = Loader.shared.resources['my-music'].data;   // .sound does not work? docs say otherwise
    const { s } = this;
    s.loop = false;
    s.volume = 0.8;
    s.play();

    setTimeout(() => {
        s.stop();    //   <-   Uncaught (in promise) TypeError: s.stop is not a function
        s.destroy();
    }, 3000)

You want to use .sound not .data (HTMLAudio element). If it's not loading correctly that's your problem. Please provide more info or reproduction.

Thanks @bigtimebuddy, I've figured it out, was including @pixi/sound in another file by mistake


asgiref.inmemory.ChannelFull when running python manage.py migrate and tests

I have a model, that pushes it self to all websocket connections when an instance is changed. This looks simular to this code:
class MyModel(models.model):
    ...
    def save(self, *args, **kwargs):
        value = super().save(*args, **kwargs)
        Group('all').send({'text': self.json_encoded()})

The problem is, that I use datamigrations to create some models when the database is created. Therefore I run something like this in migrations:
MyModel.objects.create(...)

When I run python manage.py migrate there are no workers that clear the channel queue and therefore I a asgiref.inmemory.ChannelFull Exception is raised. The same happens when I run python manage.py test which creates a test database by running the migrations.
One solution would be to create a dev-null channel_layer that is used in migration. Another solution would be run some wokers threads when python manage.py migrate is running.
The same problem would occur when MyModel instances are created in a python manage.py shell session when no worker are running.
Is there a recommended way to solve this problem?

I don't see how this would cause ChannelFull - Group's send() method should never raise this and absorb the error if it occurs, it only applies if you name a specific channel. Are you sure your channel layer is up to date?
Also, for the general problem of running tests with channels, there's a ChannelTestCase class you can inherit from that swaps in a new fake channel layer for each test.

I use channels 0.14.0.
I use the ChannelTestCase but it does not help in my case, because django calls migrate before your TestCase changes the channel_layer.
This test repo demonstrates the error: https://github.com/ostcar/channeltest
If you check it out, install django and channels and run python manage.py migrate then the following traceback occurs:
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/ossi/.virtualenvs/tmp-db23ef27be81624/lib/python3.5/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
    utility.execute()
  File "/home/ossi/.virtualenvs/tmp-db23ef27be81624/lib/python3.5/site-packages/django/core/management/__init__.py", line 345, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/ossi/.virtualenvs/tmp-db23ef27be81624/lib/python3.5/site-packages/django/core/management/base.py", line 348, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/ossi/.virtualenvs/tmp-db23ef27be81624/lib/python3.5/site-packages/django/core/management/base.py", line 399, in execute
    output = self.handle(*args, **options)
  File "/home/ossi/.virtualenvs/tmp-db23ef27be81624/lib/python3.5/site-packages/django/core/management/commands/migrate.py", line 200, in handle
    executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial)
  File "/home/ossi/.virtualenvs/tmp-db23ef27be81624/lib/python3.5/site-packages/django/db/migrations/executor.py", line 92, in migrate
    self._migrate_all_forwards(plan, full_plan, fake=fake, fake_initial=fake_initial)
  File "/home/ossi/.virtualenvs/tmp-db23ef27be81624/lib/python3.5/site-packages/django/db/migrations/executor.py", line 121, in _migrate_all_forwards
    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
  File "/home/ossi/.virtualenvs/tmp-db23ef27be81624/lib/python3.5/site-packages/django/db/migrations/executor.py", line 204, in apply_migration
    self.recorder.record_applied(migration.app_label, migration.name)
  File "/home/ossi/.virtualenvs/tmp-db23ef27be81624/lib/python3.5/site-packages/django/db/migrations/recorder.py", line 73, in record_applied
    self.migration_qs.create(app=app, name=name)
  File "/home/ossi/.virtualenvs/tmp-db23ef27be81624/lib/python3.5/site-packages/django/db/models/query.py", line 401, in create
    obj.save(force_insert=True, using=self.db)
  File "/home/ossi/.virtualenvs/tmp-db23ef27be81624/lib/python3.5/site-packages/django/db/models/base.py", line 708, in save
    force_update=force_update, update_fields=update_fields)
  File "/home/ossi/.virtualenvs/tmp-db23ef27be81624/lib/python3.5/site-packages/django/db/models/base.py", line 745, in save_base
    update_fields=update_fields, raw=raw, using=using)
  File "/home/ossi/.virtualenvs/tmp-db23ef27be81624/lib/python3.5/site-packages/django/dispatch/dispatcher.py", line 192, in send
    response = receiver(signal=self, sender=sender, **named)
  File "/home/ossi/src/channeltest/app/models.py", line 10, in my_callback
    Channel('mychannel').send({'foo': 'bar'})
  File "/home/ossi/.virtualenvs/tmp-db23ef27be81624/lib/python3.5/site-packages/channels/channel.py", line 38, in send
    self.channel_layer.send(self.name, content)
  File "/home/ossi/.virtualenvs/tmp-db23ef27be81624/lib/python3.5/site-packages/asgiref/inmemory.py", line 50, in send
    raise self.ChannelFull(channel)
asgiref.inmemory.ChannelFull: mychannel

Ah, you're sending onto a Channel, not a Group as you posted in your example. I suggest you modify your handler so it's happy to run under migrations and ignore ChannelFull in that case; there's no easy way to swap in something just for the migrate step, as there's not a clear workflow boundary for where you are in it inside Django.

This was obvious... I don't know why I did not thing about it before. Sry and thank you.


FEIT Electric WIFI Smart Dimmer Switch - DUMP

Attached is the dump for the [FEIT Electric WIFI Smart Dimmer Switch]. Can sometimes be found at COSTCO. (https://www.amazon.com/Feit-Electric-Wi-Fi-Smart-Dimmer/dp/B09VJYVXL5/ref=sr_1_6?crid=20SIIGQYMD27W&keywords=feit&qid=1686429772&sprefix=fei%2Caps%2C263&sr=8-6).
ltchiptool_bk72xx_2023-06-10_12-12-29_Feit_Dimmer_SW.zip

This is a dump of LibreTiny/ESPHome, not the original firmware.

I'm confused, what's the process for getting the original firmware dump? I used the ITCHIPTOOL v4.1.1 and selected Read flash.

You dumped the firmware after you had already flashed ESPHome to the device.  An original dump can only be done before flashing.

Shoot.. I must have gotten my boards mixed up during the process.

Hello, I have a new dump that I just took from a dimmer switch fresh from Amazon. Let me know if this one works. Thanks.
ltchiptool_bk72xx_2023-06-11_12-12-29_Feit_Dimmer_SW.zip

Added as Feit DIM-WIFI Dimmer Switch.  This is a TuyaMCU device, so there is no GPIO device configuration data.

Hello, I have a new dump that I just took from a dimmer switch fresh from Amazon. Let me know if this one works. Thanks. ltchiptool_bk72xx_2023-06-11_12-12-29_Feit_Dimmer_SW.zip

@engineerAndyy were these devices flashable using cloudcutter or did you have to go the serial route? After dismantling I can see this is the Bk7231N version from costco.
Also very importantly to me did you have access to control of the light within the switch itself (for finding it in the dark) with any 3rd party software?


Terminal emulator with VT52 support and Xmodem send/receive

I wrote a small terminal emulator CP/M-65 with VT52 emulation and Xmodem file send and receive functionality. It works well enough to login to a linux machine and run vim (when the shell is properly setup for VT52 and the correct numbers of lines and columns), and it is possible to do in-session file transfer to and from the linux machine to the CP/M-65 machine using sx/rx on the linux side.
It would be handy with defined constants for arrow keys in the screen driver to allow sending arrow-keys over VT52 instead of manually punching ESC-A to get the previous command ;)
I made a small wrapper function for serial_inp in order to allow checking if there is available data, and still accepting 0x00 as valid data, from C. Otherwise I just made a straight mapping to all functions in the serial driver.
A known issue is that files are sometimes corrupted in both directions if several Xmodem transfers are made sequentially, I am currently looking into that.

Nice work! If you turn the VT52 code into a TTY driver that sits on top of the BIOS TTY and SCREEN drivers, it'll open up VT52 capabilities for other programs, too. I think that's how David intended the driver model to be used. Similar to how the Atari 80 columns driver works.
Kind regards,
Ivo

Nice work! If you turn the VT52 code into a TTY driver that sits on top of the BIOS TTY and SCREEN drivers, it'll open up VT52 capabilities for other programs, too. I think that's how David intended the driver model to be used. Similar to how the Atari 80 columns driver works.
Kind regards, Ivo

Hi Ivo,
That is an interesting idea, thanks. I will look into how the loadable drivers are written. I think it should be enough to do something similar to the caps-driver which only replaces TTY_CONOUT.
Best regards,
Henrik

Well done and congrats, @venomix666!
Q: what would be more "cmp-ish" to implement a serial setup functionality (i.e. set baud, bits, parity etc.):

put it in BIOS and extend the jump table with one more function
or
create standalone utility which will be run before the actual communication program (for instance vt52term)?
I'm playing with Oric and I have already working code for MOS6551 and MC6850 serial chips but just want to follow as much as possible the "standard" way if any.
Happy and prosperous 2024!
iss

Well done and congrats, @venomix666! Q: what would be more "cmp-ish" to implement a serial setup functionality (i.e. set baud, bits, parity etc.):

put it in BIOS and extend the jump table with one more function
or
create standalone utility which will be run before the actual communication program (for instance vt52term)?
I'm playing with Oric and I have already working code for MOS6551 and MC6850 serial chips but just want to follow as much as possible the "standard" way if any.
Happy and prosperous 2024!
iss

Thanks!
That's a good question. I am not very familiar with how things are usually done in CP/M,  but in drivers.inc it is noted that SERIAL_OPEN takes flags as arguments in XA - I assumed that the idea here is to define a set of flags for baudrates, start/stop bits etc, so that the port settings are configured when you open the port. This way, it would be portable between different machines and UART-chips. I think David may have better input here?
A happy 2024 to you too!
/Henrik

Thank you --- that's really useful.
My vague thought regarding drivers was that you could install the VT52 terminal driver, then programs could use VT52 escape sequences and they'd Just Work. So the terminal app wouldn't need to know anything about the terminal; it'd just pass stuff back and forth to the TTY driver. The downside is that changing the terminal emulation would require rebooting the system, as there's no way to unload a driver.
However, given that there's no actual software for CP/M-65, I don't know if that's actually useful --- there's nothing which needs VT52 escape sequences. Maybe a better option would be for the VT52 driver to install a specific VT52 TTY-like device. I'm open to suggestions here.
Regarding SERIAL: yes, the flags for the open opcode are supposed to set format and baud rate, but I hadn't specified those yet. One issue is that it'd be good to have a way to distinguish between multiple SERIAL drivers. Maybe reserving a range of driver IDs, one per port?

Thank you --- that's really useful.
My vague thought regarding drivers was that you could install the VT52 terminal driver, then programs could use VT52 escape sequences and they'd Just Work. So the terminal app wouldn't need to know anything about the terminal; it'd just pass stuff back and forth to the TTY driver. The downside is that changing the terminal emulation would require rebooting the system, as there's no way to unload a driver.
However, given that there's no actual software for CP/M-65, I don't know if that's actually useful --- there's nothing which needs VT52 escape sequences. Maybe a better option would be for the VT52 driver to install a specific VT52 TTY-like device. I'm open to suggestions here.

That is the way the driver is written now, i.e. taking over the TTY driver's conout. I also have VT52-parsing code in the terminal application as I wrote this before making the driver, but that is simple to remove (and rename the terminal application) if a separate driver is the preferred approach. The main benefit I see with having at VT52 driver is that  you could use the SCREEN driver from BASIC by printing VT52 escape sequences (if it is possible to print the escape key from Altirra BASIC?). The drawback as you mention is that you would have to reboot to unload it.
One use case that I see is logging in to a linux machine, editing some C-code, cross compiling and downloading the binary with Xmodem to run it. In this case you will have 4 pages less TPA available after using the terminal emulator as the VT52 driver is still resident in memory, so just having the VT52 being part of the terminal application makes more sense in this case.
How hard would it be to make it possible to unload loadable drivers?

Regarding SERIAL: yes, the flags for the open opcode are supposed to set format and baud rate, but I hadn't specified those yet. One issue is that it'd be good to have a way to distinguish between multiple SERIAL drivers. Maybe reserving a range of driver IDs, one per port?

I think reserving a range of driver IDs would work fine. Then you could either scan through these when you start an application using serial ports, or have the user specify the port as a command line argument. I think supporting 4 serial ports (like the fixed IO addresses of COM-ports in IBM PCs) would cover most hardware configurations, but there is no shortage of driver IDs so you could as well support a much larger number of ports if you think that it is useful.

The issue with unloading drivers is that they have to be unloaded in reverse order. (Also, there'd need to be functionality to tell them to unload themselves, which currently there isn't.)
I've wondered whether it might be feasible or desirable to extend the device driver model into something like CP/M 3's RSX files, where you'd bind a driver to an application and then load them both together, GSX-like, but that feels like it's getting a bit too shared-library like and while something like that would be cool I think it belongs in the application layer.


fix: updated assigned_to to required in ipassignments

@vasubabu keep in mind that this cannot work until the SDK is able to return errors when required fields are missing (#132)

Also, TIL that @t0mk took the same approach in metal-python (it works there b/c the Python generator supports required properties): https://github.com/equinix-labs/metal-python/blob/main/scripts/patch_metal_spec.py#L63-L67


Getting Out of order buffers detected for RequestedLayerState error when i run the app

Good day, when I try to run my app I'm working on, I get "Out of order buffer detected" error.

If you need more info, please let me know. Thank you.
email is<EMAIL_ADDRESS>

Not related to this project.


Fix Wrong Offset in Fseek from SEEK_END

Title
Fix Wrong Offset in Fseek from SEEK_END
Summary
testing/smart_test/smart_test.c: To seek to the last 30 bytes of the file, offset from SEEK_END should be negative.
Impact
Bug fixed.
Testing
nsh> smart_test -c 1000 -s 1000 -w 1000 /mnt/smart
Creating file /mnt/smart for write mode
Writing test data.  2000 lines to write
1999
Done.
Performing 1000 random seek tests
1000
Append test passed
Performing 1000 random seek with write tests
999
Pass
Creating circular log with 40000 records
Performing 1000 circular log record update tests
999
Pass

@JackyCaoYJ


PatchTST: Add support for time features

Description of changes:
Adding support for including time features in the PachTST model. The original PatchTST paper does not talk about time-based features and there are several ways one could include them.
Here we go with this simple approach (and maintain the simplicity of the PatchTST model):

Similar to target time series, time series features, if provided, are converted to patches and appended to the target patches.
Since PatchTST is encoder only model, we combine past_time_feat and future_time_feat (this dichotomy is an artefact of gluonts) and (left) shift them by prediction_length so that the features are aligned with the target input.

Added tests for the PatchTSTEstimator with features enabled.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Please tag this pr with at least one of these labels to make our release process faster: BREAKING, new feature, bug fix, other change, dev setup

@rshyamsundar the "lag-tst" model can also be tried as it allows one to take those features naturally


Add book "Topological Data Analysis for Genomics..."

*Topological Data Anaysls for Genomics and Evolution: Topology in Biology is a new (December 2019) book that is divided into two halves: an introduction to Topological Data Analysis geared for non-mathematicians (it has an emphasis on concepts without getting bogged down into proofs).

Thank you.  :)

You're welcome.  I will probably suggest a few more things in the coming
days.
On Sun, Apr 19, 2020 at 3:58 PM Fatemeh Tarashi<EMAIL_ADDRESS>wrote:

Thank you. :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/FatemehTarashi/awesome-tda/pull/3#issuecomment-616215620,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABLHYWVHG4IY36UDSCXBRJTRNNJUZANCNFSM4ML5GKEQ
.

Great, feel free.


[CI] - Dashbuilder + Quarkus main

This issue will be opened and closed depending on the state of https://github.com/quarkiverse/quarkus-dashbuilder build against Quarkus main SNAPSHOT.
If you are interested in being notified, please subscribe to this issue.

This should fix the issue:
https://github.com/quarkiverse/quarkus-dashbuilder/pull/51


upgrade react-select

:+1: but I'll not merge yet until know @gniezen is OK with sequencing I proposed in a comment on #260.

 <ux:1 dev:5 tst:0> [uploader] [in-clinic] add new screens for in-clinic account creation, styles only

Merging.

 <ux:0, dev:2, tst:1> [uploader] [device] OneTouch VerioIQ


Fixes scroll to top issue and adds animation

What changed and why
Removes the query params changes when a voting profile has been opened and added animations when opening and closing a voter profile.
Resolved #45

+1


Externally-provided file handles do not handle unix domain sockets well

The common scenario for systemd-activated service being placed behind a reverse proxy involves using local Unix domain sockets. While Kestrel itself supports them, systemd activation assumes that socket handle is passed from a parent process. Currently, the ListenerContext.CreateAcceptSocket and Listener.CreateListenSocket assume that externally passed file handle is always a TCP one. This leads to inability to use Unix domain sockets for systemd-based activation (socket creation fails with ENOTSUP, as expected).
I slapped together a quick "fix", extending UvPipeHandle a bit, and handling passed file handle as a pipe is easy, given that libuv already supports everything that is needed, but determining the socket type only by file handle isn't that easy. Either there is a platform-dependent call (getsockopt), or a try/catching around  socket creation in places mentioned with fallback to pipes instead of tcp. Also, maybe the socket type should be determined in configuration code around UseSystemd, potentially introducing new ListenType (SocketFileHandle?).
I'm not posting the fix here, because without finding out the proper way to determine the socket type it isn't very useful, so I'm asking for some kind of a guidance on the preferred way.

Another option would be improved systemd integration with support for multiple FDs, then testing for specific FD state would be a part of the integration API (sd_is_socket_unix).
Yet, this is probably harder than it should be, because of additional native dependencies.

@onyxmaster Is there a way to do it without native calls?  We mainly designed the externally-provided file-handles for SystemD activation, though we'd be happy to hear more of your thoughts. Backlogging this for now.

The simplest way to handling this is via exception handling as follows:
If ListenType is a FileHandle, we should try to treat it as a TCP socket. Then, attempting to perform TCP-related initialization operations (like disabling Nagle algorithm) will fail with ENOTSUP. We could handle this exception, assuming this is a non-TCP socket and, hence, a pipe (in libuv terms). The exception presence could be cached to prevent doing unnecessary work on each connection accept.
Would you like to take a look at a PR that implements this method?
Also, I still believe that extending ListenType to contain more specific FileHandle types is an option worth exploring. This might break existing API though, and while its exposure is fairly limited at this point, I don't believe I'm in position to advise you on this one.

Let me elaborate a little on ListenType types.
I propose that the ListenType.FileHandle remains as it is and is considered an "autodetected" file handle type.
Then, endpoint info should be cached locally by the Listener/ListenerContext that would convert the ListenType to a more specific type (TcpFileHandle/PipeFileHandle) on listen socket creation and cache it locally again, so the subsequent invocations on the Listener/ListenerContext would not need to go through the detection phase. This will preserve most of the existing code, including potential third-party one, and will allow direct specification of the file handle socket type in the ListenOptions constructor if desired by the caller.

I like the ListenType.TcpFileHandle/PipeFileHandle idea.
2.0.0 is being released fairly soon, so I can't make any promises, but if you submit a PR within the next few days, I'd likely accept it.

Looks like it's done, thank you!


The generated sound does not match the provided sound

The one used is:
"GPT_SoVITS/pretrained_models/s2G488k.pth"
"GPT_SoVITS/pretrained_models/s1bert25hz-2kh-longer-epoch=68e-step=50232.ckpt"
Using these two models, the generated speech does not match the provided speech tone, and the speech sound fluctuates greatly, making it easy to swallow words or stutter

Or you can fine-tune the model to achieve better performance.


Release 0.5.0

Pull Request Test Coverage Report for Build 63

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

Totals

Change from base Build 60:
0.0%

Covered Lines:
1450

Relevant Lines:
1651

💛  - Coveralls


Legend position: 'none' throws error since 2.9.x?

Expected Behavior
Bar Chart should display
Current Behavior
Bar chart does not display, with the following error:

Possible Solution

Steps to Reproduce (for bugs)
Problem seems to have originated in 2.9. As was working in 2.8 fine. Since some rtl compatibility has been added. (I'm not asking for RTL)... I haven't spotted anything in documentation or upgrade guide that says I should be doing anything differently in my config from 2.8 to 2.9.3
Please help?

Bar displays: https://www.chartjs.org/samples/latest/charts/bar/vertical.html
Care to share some more information about your config?

Sure (though I'm worried I'll get told off for not doing something right... but it's all a learning curve for more than just me, right! 😀)
Including ChartJS via a require from npm.
<script src="compiled.js"></script>
<script>
var conductRewardValues = document.getElementById('conduct-reward-values');
        var conductChartOptions = {
            animation: {
                duration: 7500
            },
            scales: {
                yAxes: [
                    {
                        ticks: {
                            beginAtZero:true
                        }
                    }
                ]
            },
            legend: {
                    position: 'none'
                }
            };

        var myChart = new Chart(conductRewardValues, {
            type: 'bar',
            data: {
                labels: [
                    "{{ $pupil->prename }}'s Score",
                    "{{ $pupil->house->house_name }} {{ $pupil->yearGroup->short_name }}",
                    "{{ $pupil->yearGroup->short_name }}",
                    "{{ $pupil->school->long_name }}"
                ],
                datasets: [
                    {
                        label: 'Scores',
                        data: [
                            {{ $pupil->conduct_and_rewards_total_value }},
                            {{ \App\ConductReward::getHouseAverageValue($pupil->nc_year, $pupil->house) }},
                            {{ \App\ConductReward::getSchoolAverageValue($pupil->nc_year, $pupil->school_id) }},
                            {{ \App\ConductReward::getSchoolAverageValue(null, $pupil->school_id) }}
                        ],
                        backgroundColor: [
                            "{{ $pupil->house->hex }}",
                            pattern.draw('dot', "{{ $pupil->house->hex }}"),
                            pattern.draw('diagonal', "#0c223f"),
                            "#0c223f"
                        ],
                        borderAlign: 'inner'
                    },
                    ]
            },
            options: conductChartOptions
        });
</script>

Ok, the issue is probably that part:
            legend: {
                    position: 'none'
                }

try legend: false

That's it!
Thank you - could there possibly be a changlog / upgrade document where breaking amendments like this are documented? Apologies if I've missed it, but I couldn't find one!

No, I don't think that is documented. Though I don't think poistion: 'none' is suggested in any documentation either. Its a bug anyway, so reopened.

Appears fixed in v3.0.0-beta.14 https://jsfiddle.net/tq8xh52u/


fs-uae 2.7.14dev (devel)

Update for new devel release. Meanwhile also update revision for stable due to glew update (Homebrew/homebrew-core#3269).

@BrewTestBot test this please

Merged. Thank you for your contribution to Homebrew!


Incorrect formatting of interface declaration when readonly modifier present on properties

Per this comment:
interface ExampleInt {
	readonly FirstVal: number;
	readonly SecondVal: number;
	readonly ThirdVal: number;
	Resolve(n: number): number;
}

gets reformatted (via tsfmt) as:
interface ExampleInt {
	readonly FirstVal: number;
readonly SecondVal: number;
readonly ThirdVal: number;
Resolve(n: number): number;
}

//CC: @SaschaNaz

PRs are welcomed.

I can't reproduce this in VS Code (which uses the same formatting service provided by TypeScript). I think the issue is that tsfmt isn't using typescript@next, so it is trying to format with a language service that doesn't understand readonly.

Just tried atom-ts and it worked fine as well :rose:

Apologies, @ahejlsberg you're quite right, had totally slipped my mind. This issue is still outstanding and being tracked https://github.com/vvakame/typescript-formatter/issues/30


Add template to set a dispute game implementation

Description
Adds a template to the fp-recovery directory to set the implementation for a particular game type. Most inputs are loaded from the superchain-registry to make it as easy as possible to adapt for other chains.

Closing this since https://github.com/ethereum-optimism/superchain-ops/pull/363 says it will replace this PR, but please reopen if we still need this for any reason


User auth method update fix

Description

When a user's auth method is updated to "username/password", the form still sends the previously selected samlProviderId in the request body, which prevents the auth method from actually being updated. In order to make the update correctly, we need to set this field to an empty string when "username/password" is chosen.

Motivation and Context

Corrects a bug which prevents administrators from updating a user's auth method from SAML.

How Has This Been Tested?

Manual testing to confirm users can be switched freely between the two auth methods.

Screenshots (if appropriate):
Types of changes

[ ] Chore (a change that does not modify the application functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] Documentation updates are needed, and have been made accordingly.
[ ] I have added and/or updated tests to cover my changes.
[x] All new and existing tests passed.
[ ] My changes include a database migration.

The changes seem solid however I would love to see some accompanying tests.


our nRF52840 board power management sleep duration

I want to make our nRF52840 board by zephyr-v2.0.0 work into low power mode for specified seconds at k_sleep.
But our board often sleeps 512 seconds longer than specified seconds if we specified time longer 512 seconds.
For example, if we specified 600 seconds, our board often sleeps 1112 seconds.
I only understand this probrem is related nRF52 RTC overflow.
What's the difference when sleeped specified seconds and sleeped 512 seconds longer?
Just in case I tried zephyr-v2.1.0-rc1, but the situation does not change.
Incidentally, consumption when our board sleeped is 5uA.

Does your application stay completely asleep for the entire 600/1112 second period, or does it have to wake up to do other things like wireless communication, react to external signals, get timer callbacks?  If it wakes, how frequently?

Confirmed: a sleep of 600 s (10:00 m:s) on Nordic nrf52840_pca10056 will not wake until 18:32 m:s external time has passed.  The Zephyr uptime clock will show 600 s elapsed.
The bug is not present on nucleo_l476rg so it's likely to be specific to the Nordic timer infrastructure.

Does your application stay completely asleep for the entire 600/1112 second period,

Our application stay completely asleep for the entire 600/1112 second period.

If it wakes, how frequently?

I tried 136 times, problem happened 103 times.
103/136: wake up on 1112 seconds.
33/136: wake up on 600 seconds.

The Zephyr uptime clock will show 600 s elapsed.

We confirmed it as well.
I was relieved it isn't inherent probrem on our board.

@nordic-krch can you check if this can be something related to our system timer driver?

i will try to investigate

I'm on this.  I know what the problem is, and it probably applies to other boards.

ok


Resource not accessible by integration

I get an error
Run<EMAIL_ADDRESS>  with:
    repo-token: ***
Error: Resource not accessible by integration

my yml looks like this:
name: 'Auto Author Assign'
on:
  pull_request:
    types: [opened, reopened]
jobs:
  add-assignees:
    runs-on: ubuntu-latest
    steps:
      - name: auto-author-assign
        uses<EMAIL_ADDRESS>        with:
          repo-token: "${{ secrets.GITHUB_TOKEN }}"

Can this be that pull_request is not enough anymore?
I am trying to check if pull_request_target works better https://github.com/drpaneas/romie/pull/59/files

Using pull_request_target works.

@drpaneas I'm not sure why it raises the error when you use pull_request event. 🤔
On my repository, it works without error:
https://github.com/toshimaru/RailsTwitterClone/pull/877
My Configuration:
name: 'Auto Author Assign'
on:
  pull_request:
    types: [opened, reopened]
jobs:
  add-assignees:
    runs-on: ubuntu-latest
    steps:
      - uses<EMAIL_ADDRESS>        with:
          repo-token: "${{ secrets.GITHUB_TOKEN }}"

https://github.com/toshimaru/RailsTwitterClone/blob/05f2e64a05f92420c7e0287c5352e2cce3487c02/.github/workflows/auto-author-assign.yml#L1-L11

Oh, I see, you've created an thread.

You need to use pull_request_target to allow forks to have access to the token.

https://github.community/t/resource-not-accessible-by-integration-assigning-author/136391

Thanks for reporting issue and I'm gonna update README. 👍

TODO: Update README.

@drpaneas I'm not sure why it raises the error when you use pull_request event. 🤔

It works fine for your repository because it's yours. If somebody else forks your repository and sends you a PR, it will fail. Thanks for updating the README as well ;)

@drpaneas Thanks for your effort and reporting the issue.  <3
I updated README and bump the version. 👍
Release v1.2.0: Use pull_request_target instead of pull_request · toshimaru/auto-author-assign


perf(baseHandlers): dont create variable when target not equal raw receiver

dont create variable when target not equal raw receiver so that Improve performance

It seems that the test error is not caused by the commit.


NMR

:pushpin: References

Issue: Closes https://app.clickup.com/t/865ca9vp8

:memo: Implementation
Added NMR Dialog with a list of the NMR fragments of each Target. Added two loaders and a pagination. On first glance, a simple request is made to retrieve the 25 first fragments and the count of them to be able to build the pagination. Later, each time the page is changed, it will trigger a new request to the API. An "Export all fragments" function has been added: it will first get the pagination count, in order to build all the needed requests to fullfill all the fragments of the target sequentially.
:art: Screenshots

:fire: Testing
Please note the feature of being able to cancel the "export all fragments" request.

Awaiting for client


Part responsible owner

Replaces https://github.com/inventree/InvenTree/pull/5060
Fixes https://github.com/inventree/InvenTree/issues/5059

@miggland FYI this is how complex migrations should be handled. In separate sequential migrations:

Add the new field to the model
Perform custom data migration
Delete the old field

Data and schema migrations should not be performed in the same step. And it should be written in such a way that it is reversible if required :)

Looks nice, thanks for fixing this. :+1:

No worries, it is a pretty tricky thing to get right!


Update numba-dpex knn example to latest API.

Existing Sample Changes
Description
The numba_dpex KNN example was not been updated to the latest numba-dpex API and programming model. The PR updates the example to latest API:
a) Use of dpctl.device_context for device selection was removed from numba-dpex in release 0.20. Device selection now happens using Python Array API standard compute follows data programming model.
b) Uses dpnp (Intel's SYCL-based drop-in NumPy replacement) for input instead of dpctl.tensor
c) Other minor changes to proper typing of scalar values inside kernel.
Fixes Issue#
External Dependencies
List any external dependencies created as a result of this change.
Type of change
Please delete options that are not relevant. Add a 'X' to the one that is applicable.

[X] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[X] Implement fixes for ONSAM Jiras

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[X] Command Line
[ ] oneapi-cli
[ ] Visual Studio
[ ] Eclipse IDE
[ ] VSCode
[ ] When compiling the compliler flag "-Wall -Wformat-security -Werror=format-security" was used

PR#2229 and PR#2230 addressed these issues and have been merged. Closing this PR.


Allow usage of newer versions of Flipper than 0.15

I'd like to test support for newer versions of Flipper. I understand its still pre-1.0, but this will allow newer versions of Flipper while not breaking any backwards compatibility or forcing anyone to upgrade before they are ready.

We are no longer using flipper-echo. I was about to archive the repository when I saw your issue. I suggest forking and taking it over yourself.


add better error handling

People reported errors like:

cannot create pet, it could be resources limit or 1 hour create pet tolerance
cannot interact with pet due to limited resources

We should add better error messages here:
functions:

submitNewMonster
requestFeed
requestAwake
requestBed

already added it but looks like eosjs or the node that I'm using does not bring the full description of the assert message 😢


modal widget: missing option to select webCam Device on mobile

Implemented Uploader Beta widget, modal, into website. Works fine, but on mobile with several cameras, it automatically selects the FrontCamera.
On MacOS, a drop down selector is shown with all available WebCam devices, on mobile, this menu is not displayed.
Is this a bug, or a not yet implemented feature?
How can I switch the BackCamera/available cameras on mobile, using the widgets?
(Tested with<EMAIL_ADDRESS>and 0.14.0/0.14.1.)

Hey, @tob-har!
Thanks for the issue. We know about this problem and are going to dedicate time to resolve it shortly.


PR template for adding packages

This adds a PR template with a questionnaire for new tools.
Right now, this is partly redundant to the metadata that will go into the yaml file, so maybe we should reduce the number of questions.

I decided it's better to have a minimalistic PR template that just refers to the README. Otherwise we have annoying redundancies.
The new PR template is not part of #1.


Allow custom bind addresses for development servers

also remove incorrect comment and update copyright notice
Signed-off-by: Ashley Davis<EMAIL_ADDRESS>

/lgtm

Looks good to me, I tried running the command with and without the --bind flag.
In practice, do you intend to pass a custom value via the flag if you want to listen on an external address?

Yeah, I was using this yesterday because my phone and work computer are both on the same network (my home network, via a VPN). So I did export HUGO_BIND_ADDRESS="192.168.xxx.yyy" and then could access that address on my phone for testing purposes.


Added basic support for the new inline API

For listening to the new events and for sending inline replies.

Thaks :+1: your PR is very appreciated.
I read your Telegram messages but I couldn’t answer you because I got banned, sorry.
I will test a bit and merge it

Ok, no problem. I tested it a bit on my bot project and seems to be working.
If you want to speak with me on telegram I can send you my contact and you can talk with me even with the ban.

Ok, I tested it with a few friends for half an hour using this code

var bot = new TelegramBot(TOKEN, {
    polling: true
});

bot.on("inline_query", function(inline_query){
    bot.answerInlineQuery(inline_query.id, [{id: '0', type:'article', title:"Click here now.", description: "You will get markdown output", message_text: inline_query.query, parse_mode: 'Markdown'}]);
});```

Which basically allow the user to get markdown rendered on a text he sent.

Seem its enough if you send me 10 messages

I wasn't able to receive an chosen_inline_result did you?

Me neither. I don't know why the API has the specification for it but it does not work.


Feature Request: Folders in App Drawer

I would like to request for a feature of making app folders inside the Taskbar, similar to what can be done on PhoenixOS and Linux Mint.
I don't really like the Grid and List being the only options to show my apps in the app drawer. I need organization, not an untidy list of apps that gives me headaches in finding which app is it I want to open.
I want that, when I open the Start menu, I can just access the folder that has the app I need instead of scrolling through a huge list of apps.

Good idea, although tags are better. Most things don't fit into just one category, folder etc.

Good idea, although tags are better. Most things don't fit into just one category, folder etc.

I mean, you will just have to manually apps per folder, instead of automatic categorization.

Why do you assume this? Can't tags be defined manually too just like folders(?).

Why do you assume this? Can't tags be defined manually too just like folders(?).

I haven't really seen apps organized according to tags. Probably the closest I can think of this is Instagram grouping posts according to hashtags 🤣


sampling rate

Hi Takuji,
Why does gpssim.c read data at 10Hz while the real GPS satellites only transmit at 1Hz? Also, is there a way to change the: 1. rate that the code reads from the .txt file, and 2. the rate that the data is written to the .bin file?  I am confused why the code needs 10 seconds of data to create one second of base-band signal.  Your help is greatly appreciated.

Each GPS satellite is sending continuous radio signal for ranging. In order to emulate it, you need smooth motion information of the GPS satellite and the receiver. The software uses a simple linear approximation to generate the user (receiver) motion, and 10Hz update rate is chosen to minimize the approximation error even for a high speed platform like a satellite. The bin file data rate can be specified by the sample rate.

Thank you for your reply.  Is it possible to change the update rate from 10Hz to say 100Hz?  If so, how might one go about this?

It is possible but requires some code modification. The user motion update rate is strongly depending on the receiver dynamics that you want to simulate. If it is stationary, you don't need any motion data. You might need 100Hz update rate to simulate a rocket trajectory, but in most cases 10Hz or lower should be enough. The following thread could give you some insight: https://github.com/osqzss/gps-sdr-sim/issues/94

I see.  Thank you, that is very helpful.  According to the logic in issue #94, if the update rate is decreased to say 1Hz, the dynamic error would increase drastically.  However, gpssim.c would still produce a transmittable signal with decent position accuracy would it not?  Am I understanding this correctly?  (My goal is to transmit a signal from data that is being read in only once per second or 1Hz)

Yes, the simulator can generate a signal stream for any user motion, but it may not be acceptable for your receiver because of its high dynamic error. The easiest way to test your 1Hz data set is to take a double difference of the series of positions and check the possible acceleration error. If it exceeds 2G, the receiver would have some trouble to track the signal.

You are right, the 1Hz is not acceptable.  I'm having trouble with the original 10Hz rate also.  For some reason, the resulting latitude of the generated signal is about 60 degrees W of where is should be.  I'm using dynamic scenario but using stationary data.  Any clue what could be causing this?  What are your thoughts?

Would you post the geodetic location (latitude, longitude, and height) of the simulated receiver and the corresponding position in the EFEF coordinates in your user motion file?


use of yarn instead of npm

yarn is way faster than npm, maybe we can start using yarn?

Agreed, we use Yarn at Mixmax. However it's fastest of all to avoid doing any sort of package installation on the EC2 instances (via this script) :) We use Yarn on our CI servers.


Readonly file (not released properly) and issue with formulas in xl/calcChain.xml

Excel Type

[X] XLSX
[ ] XLSM
[ ] CSV
[ ] OTHER

Upload Excel File
mini_TotalEnVigueur (1).xlsx
Please attach your issue file by dragging or droppng, selecting or pasting them.
warning readonly

warning for an issue in calcChain.xml

calcChain.xml content from templatate and before excel auto fix
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<calcChain xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><c r="M6" i="1" l="1"/><c r="L6" i="1"/><c r="K6" i="1"/><c r="J6" i="1"/><c r="N6" i="1"/></calcChain>

calcChain.xml content after fixing by excel
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<calcChain xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><c r="N393" i="1" l="1"/><c r="M393" i="1"/><c r="L393" i="1"/><c r="K393" i="1"/><c r="J393" i="1"/></calcChain>

MiniExcel Version
current, 1.30.3
Description
Excel Line 6 contain formulas that are pushed down by an IEnumerable field one line 5, but isn't updated in xl/calcChain.xml
Excel file not released properly, when opening it's in read only mode because being 'edited' by another user.
Generated excel file still in read-only (no released properly). MniExcel not disposed properly?

I think formulas in excel templates sheets needs to be indexed in calcChain.xml.
here's the formulas in my generated template (388 rows added)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<calcChain xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><c r="M393" i="1" l="1"/><c r="K393" i="1"/><c r="J393" i="1"/><c r="N393" i="1"/><c r="L393" i="1"/></calcChain>

calcChain looks like an index of all the formulas
cell, row, sheed index --   i.e. <c r="J393" i="1"/>

the calchain requires parsing _rels/workbook.xml.rels to get worksheet indexes  rid#
calcChain.xml content looks like this

r =  columrow, i = sheet index


Add gentx mahof

Could you move the file inside gentx folder ? cygnusx-1/gentx/.. the bot should add an ok label when all is good


Great presentation on Warsaw JUG

Great job with code preparation and high quality of talk! Thank you!

Thank you very much! I'm very happy that you liked it! :)


#15243 - Pydantic V2 & Airflow 2.9

Describe your changes:
Fixes #15243
This PR does all the necessary changes in the code and dependencies to move to Pydantic V2. This includes bumping Airflow to the latest 2.9.1.
It'd been great to handle Airflow bump in a separate PR, but Airflow 2.7.3 does not support Pydantic V2, so we're doing both changes at once.
One option could've been to stick to from pydantic.v1 import ..., but we'd still need to plan the full pydantic v2 migration.
Backward Incompatible Change
This change will require users who rely on the SDK to work with Pydantic V2 as well.
Changelog

⚠ Pydantic V2 uses a new Rust regex parser. It does not have the same feature set as the Python one. This pattern ^((?!::).)*$ which we use as a constraint for EntityName is not supported. We updated the dynamic class generation to ignore the regex pattern until Rust is OK with it. Until then, the validation will happen directly at the server instead of the client. This should not have any further impact.
json(encoder=...) is deprecated. Instead, we need to create our own CustomSecretStr class and manage the secrets encoding directly there. We have updated the behavior of the serializer to run get_secret_value() by default when doing a model/json dump. We can no longer control the serialization at dump time, but rather we need to move this control at the type level.
json and parse_obj are deprecated and renamed to model_dump and model_dump_json
⚠ Optional fields do not have None as a default anymore. They need to be added manually. For the dynamic codegen, adding the description on the fields already takes care of passing the None.
We can't add extra fields on BaseModel.__init__. We are using the default_factory instead for the Status class, which is indeed cleaner.
Bumped requirements to ensure pydantic v2 compat.
The new RootModel renames __root__ to root.
DateTime should have time zero
⚠ v2 complains about types in tests which before were wrongly passing. E.g., fields that are str cannot be set as an int while expecting the typing to be handled dynamically. This makes us be more strict with typing.
⚠  While we create a model, V2 will know how to convert times to their RootModel. For example, we can set Table(name="ABC") as well as Table(name=EntityName("ABC"). However, when patching information, e.g., table.name = "ABC", the model will not automatically wrap the EntityName there and the serialization fails. We need to be very strict on doing table.name = EntityName("ABC") or we'll get AttributeError: 'str' object has no attribute 'root'.
ModelMetaClass is now internal. We'll type as Type[BaseModel] instead for schema parsers when defining the function types.
⚠ model_json_dump does not transform strings to unicode when needed, e.g., "магазин" to "\u043c\u0430\u0433\u0430\u0437\u0438\u043d". This forces us to define manually the dumping process. (ref). The OM server does not understand non-ascii characters.
With the new Airflow base image, we updated the Dockerfiles and removed some snyk security fixes that were hard to maintain and only related to the base debian image. This should not have any impact other than helping us with maintainability. Still debian has other issues that are not patched. We'll rely on debian base images.
AnyUrl value is now based on Url not str. Also, the parsed URL always ends with /. We need to handle that now and properly convert it to string when passed as an argument or env var.
We had to update the GcpExternalAccount JSON Schema to disable the extra properties, otherwise it was wrongly picked up by pydantic parsing from dicts.
YAML runs of GCP sources (BigQuery, BigTable), if using credentials path, we don’t need to pass the root key anymore, directly specify: gcpConfig: credentials.json cc @ayush-shah
We added the str as an extra type for min/max metrics in table.json. This gives us a safe parsing fallback for dates that are not automatically converted into the right datetime. This should be transparent cc @TeddyCr to confirm.
The values of parameterValues in test cases are defined as string. We need to properly pass those as strings (not ints) when defining tests. We'll need to update the docs clarifying this when talking about YAML ingestions.
The type of the workflow config for Processor, Sink, etc. is config: Optional[basic.ComponentConfig] = None. In V1, the model could eat directly the Processor Profiler class (for example). Now, however, it complains when we define the class config directly during testing (e.g., here). While reading the YAML for the execution and inferring the right steps config at runtime works, if we define a workflow class in Python by hand, we need to stick to the ComponentConfig until we apply better classes in the processor and we use oneOf similar to the sources.

Further Actions

profiler/processor/models.py: @validator is deprecated with each_item. We need to update that cc @TeddyCr
Update queryParserData.json to be a Timestamp, not a string! IT is used by the UI as a timestamp. cc @OnkarVO7 This needs to be validated on usage workflows to ensure we are properly passing dates, not strings
The values of parameterValues in test cases are defined as string. We need to properly pass those as strings (not ints) when defining tests. We'll need to update the docs clarifying this when talking about YAML ingestions. cc @TeddyCr
discuss if we need to define closed classes for processor, sink, bulksink, etc. configurations instead of relying on a generic ComponentConfig.
Properly validate all usage workflows to ensure there's no errors when parsing dates from different sources

Notes

This change will update the sourceHash of every asset. It should be a transparent change, other than running a PUT instead of a PATCH in the next ingestion.

Type of change:

[ ] Bug fix
[ ] Improvement
[ ] New feature
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] My PR title is Fixes <issue-number>: <short explanation>
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] For JSON Schema changes: I updated the migration scripts or explained why it is not needed.

Took a look at the files withing metadata/ingestion/source/database. They look good.
Loved that now we have to be timezone aware. It's a good practice due to some corner cases.
Out of curiosity, why did you decide to go with Annotated for the Topologies?
Thanks

https://polar.sh/frankie567/posts/typing-annotated-the-new-python-cool seems like the correct way to go with pydantic to be more strict with typing
And thanks for finding the missing defaults @IceS2

Took a look at the files withing metadata/ingestion/source/database. They look good.
Loved that now we have to be timezone aware. It's a good practice due to some corner cases.
Out of curiosity, why did you decide to go with Annotated for the Topologies?
Thanks

https://polar.sh/frankie567/posts/typing-annotated-the-new-python-cool seems like the correct way to go with pydantic to be more strict with typing
And thanks for finding the missing defaults @IceS2

From the article I saw that it's added on Python 3.9:

have missed the new Annotated construct, which was introduced in Python 3.9

I think we are still supporting Python 3.8, no? I had to add some workarounds for testcontainers here because of it.
Are we going to stop supporting 3.8?

Took a look at the files withing metadata/ingestion/source/database. They look good.
Loved that now we have to be timezone aware. It's a good practice due to some corner cases.
Out of curiosity, why did you decide to go with Annotated for the Topologies?
Thanks

https://polar.sh/frankie567/posts/typing-annotated-the-new-python-cool seems like the correct way to go with pydantic to be more strict with typing
And thanks for finding the missing defaults @IceS2

From the article I saw that it's added on Python 3.9:

have missed the new Annotated construct, which was introduced in Python 3.9

I think we are still supporting Python 3.8, no? I had to add some workarounds for testcontainers here because of it.
Are we going to stop supporting 3.8?

Since we were doing the v2 migration, figured we could get started "modernizing" the codebase. We'll still maintain 3.8 for now, and until EOL. We're importing Annotation from typing_extensions.
The testcontainers limit in 3.8 I think is related to some internal networking issues, but not to this PR

Which release will include these changes?
I'm using the OM ingestion python SDK  (version <IP_ADDRESS>) and it still uses Pydantic V1.


Argument of type 'GrpcWebFetchTransport' is not assignable to parameter of type 'RpcTransport'

protobuf-ts: 2.6.0
export function selectProvisionClient(state: RootState): ProvisionServiceClient {
  return new ProvisionServiceClient(new GrpcWebFetchTransport({ baseUrl: selectGateEndpoint(state) }));
}

Gives error Argument of type 'GrpcWebFetchTransport' is not assignable to parameter of type 'RpcTransport'
NB: Forcing install of 2.5.0 doesn't work
yarn.lock
"<EMAIL_ADDRESS>  version "2.5.0"
  resolved<EMAIL_ADDRESS>  integrity sha512-8NRvhcwkKyLFrV9j6C3aYtlCLvRvlCgQ0957i63NUgvteZQCP0BGwbTVEQT2n43Wh3xO/Xhb+G1nFe04S3RYSA==
  dependencies:
    "@protobuf-ts/runtime" "^2.5.0"
    "@protobuf-ts/runtime-rpc" "^2.5.0"

"<EMAIL_ADDRESS>  version "2.5.0"
  resolved<EMAIL_ADDRESS>  integrity sha512-zO5W1/66Ok68muvmjG0+ucTWTfzhCUurnqyspqcWGF9DDgGKSmrtR8V1MRV051UoTonOxm7NZZvM6VTbBv9DcA==
  dependencies:
    "@protobuf-ts/runtime" "^2.5.0"

"<EMAIL_ADDRESS>  version "2.6.0"
  resolved<EMAIL_ADDRESS>  integrity sha512-PUAUUI4NJgg/3i0mfyxzrBsIs+V3/B+ybG2sDSf6mZhPYRZkUFBQqmnaFGx3UHOAU0JORqAIFC1dac6bUjaauw==
  dependencies:
    "@protobuf-ts/runtime" "^2.6.0"

"<EMAIL_ADDRESS>  version "2.5.0"
  resolved<EMAIL_ADDRESS>  integrity sha512-ClfuZQ3iPVABJ0CXLGI044eox1PtmrIbbXZaHYczdFJjaxxn8U7vnwb1dPBM9JZ2I6H1VLZu8A9Z5nRv7zydsg==

"<EMAIL_ADDRESS>"<EMAIL_ADDRESS>  version "2.6.0"
  resolved<EMAIL_ADDRESS>  integrity sha512-ZXQxypattRL87U9Ki+unh2en+REp8m+VZDTCHHHt1gqTZpjbUn2zzELkSEmli+4WKWPEZRExIhzfAUz0xRskJQ==

Hey Stéphane, this looks like a limitation of yarn:

Basically, the problem with the current behaviour of yarn is that it is not possible to force the use of a particular version for a nested dependency.

Is there a reason you don't want to update to 2.6.0? Because it seems like this would be the easiest fix. Otherwise, check out the options in the link.
It's possible that peer dependencies will be best workaround for this situation, but I don't think it's wise to change anything before yarn berry has settled a bit.

I don't mind using 2.6.0 but I have a TS error!!
Argument of type 'GrpcWebFetchTransport' is not assignable to parameter of type 'RpcTransport'

The TS error indicates that you are running two versions. What are the full error details? There should be more information.

I'm getting the exact same error on version 2.7.0

I spy v2.8.1 and v2.7.0 in the yarn.lock. You can either update to latest with all, or ensure the lower version with "resolutions", see the yarn docs.

Yep, turns out that was the issue! Thanks!


NVidia/PGI [[noreturn]] static vs. static _Noreturn

Hi there,
The NVidia/PGI compiler has some interesting behaviour regarding noreturn placement around storage specifiers. This creates a limitation in making a wrapper macro that can be both [[noreturn]] in C++ and _Noreturn in C.
In C++ the [[noreturn]] attribute must come before storage class specifiers. Example:
[[noreturn]]
static
void fatal(const char* msg) {
    fprintf(stderr, "%s\n", msg);
    abort();
}

Many compilers including GCC g++ and NVidia nvc++ enforce this. They give an attribute error if [[noreturn]] is placed after static.
However, in C, the NVidia/PGI compiler under -Wpedantic requires that the storage specifier come first. The definition has to look like this:
static
_Noreturn
void fatal(const char* msg) {
    fprintf(stderr, "%s\n", msg);
    abort();
}

If _Noreturn is instead placed before static, the NVidia compiler throws a pedantic warning. This is the only compiler I've found that complains about this.
This creates a problem with your HEDLEY_NO_RETURN macro. Suppose I am making a header-only library that can be included in both C and C++ and I want to declare a noreturn static function. Where do I put HEDLEY_NO_RETURN? It's easy to reproduce this with your test suite. With nvc 22.5 in hedley/test/:
nvc --display_error_number -Wpedantic -Werror no-return.c

This prints:
"no-return.c", line 22: error #82: storage class is not first
  static void
  ^

1 error detected in the compilation of "no-return.c".

What do you think would be the best way to handle this? Since NVidia is the outlier here it's possible to simply silence the warning: _Pragma("diag_suppress 82") works. I don't know what else this error number might silence though. Unfortunately NVidia doesn't support push/pop for silencing warnings so I can't scope this to my own header files either. Do you think this pragma should be added to HEDLEY_NO_RETURN under these specific circumstances to silence it automatically? Or do you want to document this behaviour and have users disable the warning themselves?
Full disclosure, I ask because I am making my own portability library similar to Hedley and portable-snippets. I suppose it will be a competitor of sorts but I am hoping we can help each other out to make all of them good. (And although I haven't used anything from Hedley or portable-snippets yet, my library will also be under a public-domain-equivalent license so we could share pieces of code back and forth if you're open to it.)
Anyway I ran into this problem with my own library and was curious to see whether you handled it. Looks like you haven't yet. Your library doesn't appear to generate tests for NVidia/PGI although it has a lot of code specific to their compiler. Do you test with the NVidia compiler? (I am hoping you have some tests for it because I have a bigger problem with NVidia regarding unreachable code that I might ask about next...)

Upon further testing it appears __attribute__((__noreturn__)) does not throw the warning under NVidia/PGI if it comes before static. So maybe the solution is to simply use that instead of _Noreturn in C. (And presumably C23 [[noreturn]] will not have this problem either.)
The below patch fixes it without having to silence any warnings. It uses the GNU-style attribute in C++ as well though which is not necessary, and I presume you will want a proper version macro check so I didn't bother making a PR.
diff --git a/hedley.h b/hedley.h
index 8a713e6..6d5a3b6 100644
--- a/hedley.h
+++ b/hedley.h
@@ -1148,6 +1148,7 @@
 #if HEDLEY_IAR_VERSION_CHECK(8,0,0)
 #  define HEDLEY_NO_RETURN __noreturn
 #elif \
+  defined(__PGI) || \
   HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
   HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
 #  define HEDLEY_NO_RETURN __attribute__((__noreturn__))


FileNotFoundError: [Errno 2] No such file or directory: 'DUMMY/LJ009-0042.wav'

Hello everyone, I am trying to run Tacotron2. I am having this error below:
Any suggestion, please?
WARNING:tensorflow:
The TensorFlow contrib module will not be included in TensorFlow 2.0.
For more information, please see:

https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md
https://github.com/tensorflow/addons
https://github.com/tensorflow/io (for I/O related ops)
If you depend on functionality not listed there, please file an issue.

FP16 Run: False
Dynamic Loss Scaling: True
Distributed Run: False
cuDNN Enabled: True
cuDNN Benchmark: False
Epoch: 0
Traceback (most recent call last):
File "train.py", line 290, in
args.warm_start, args.n_gpus, args.rank, args.group_name, hparams)
File "train.py", line 208, in train
for i, batch in enumerate(train_loader):
File "/home/ali/.local/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 521, in next
data = self._next_data()
File "/home/ali/.local/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 1203, in _next_data
return self._process_data(data)
File "/home/ali/.local/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 1229, in _process_data
data.reraise()
File "/home/ali/.local/lib/python3.6/site-packages/torch/_utils.py", line 425, in reraise
raise self.exc_type(msg)
FileNotFoundError: Caught FileNotFoundError in DataLoader worker process 0.
Original Traceback (most recent call last):
File "/home/ali/.local/lib/python3.6/site-packages/torch/utils/data/_utils/worker.py", line 287, in _worker_loop
data = fetcher.fetch(index)
File "/home/ali/.local/lib/python3.6/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/ali/.local/lib/python3.6/site-packages/torch/utils/data/_utils/fetch.py", line 44, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/ali/tacotron2/data_utils.py", line 61, in getitem
return self.get_mel_text_pair(self.audiopaths_and_text[index])
File "/home/ali/tacotron2/data_utils.py", line 34, in get_mel_text_pair
mel = self.get_mel(audiopath)
File "/home/ali/tacotron2/data_utils.py", line 39, in get_mel
audio, sampling_rate = load_wav_to_torch(filename)
File "/home/ali/tacotron2/utils.py", line 14, in load_wav_to_torch
sampling_rate, data = read(full_path)
File "/home/ali/.local/lib/python3.6/site-packages/scipy/io/wavfile.py", line 233, in read
fid = open(filename, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: 'DUMMY/LJ009-0042.wav'

I am facing the same problem, and I have implemented step 5 of setup, instead of "DUMMY" in the last line, it says the following.
No such file or directory: 'ljs_dataset_folder/wavs/LJ009-0042.wav'
I checked all the files and didn't find this file either.

Did you find a solution to this? I'm having the same issue too.

For example, for colab users, if you are loading the LJSpeech dataset into "content" folder and unzipped it in the same location, use this command with absolute path:
sed -i -- 's,/content/LJSpeech-1.1./wavs,ljs_dataset_folder/wavs,g' filelists/*.txt

I copy the files from LJSpeech-1.1 into the DUMMY folder


NB: added notebook on web apis

This is the start of a notebook on interacting with web APIs using the requests package.
Right now it covers the basics and does a detailed example of working with the BEA.
It needs one more example that needs to be completed ASAP.

I'm on it


Dawn redesign

Looks good. Seems we're just adding IFRAME of our interactive experience. Verified it's working locally.


utility module: fix/improve colordiff call in diff

Currently the diff function pipes output of command diff --unified to colordiff, which is not really necessary, since colordiff is capable of calling diff with any option. Worse still, the current call fails under colordiff 1.0.14 and 1.0.15 — the call always produces empty output (at least on OS X 10.10.4 with system diff and perl). To be fair, this is an upstream bug and I've reported it upstream at https://github.com/daveewart/colordiff/issues/22. However, command colordiff --unified "$@" is better than the current piping solution anyway (tested to work on all versions of colordiff down to 1.0.8, which is the oldest tag in git).

:+1:

Thanks for your contribution!


First draft of game jam landing page

TODO (will start filling these in after this initial draft is merged):

Image of t shirt prize
GIFs of heist-like games
Fill in real schedule title/description/times
Fill in links to submission forms
Banner image? (I just put together this header, if we want to get a real designer to do a pass/make something else, that would be cool!)
Randomly pick three submitted games from a list, generate some sort of UI (just a link?)
Nicer mobile view

I ended up hacking a bit of JavaScript to get ticks in those “html” pages in docs. We should probably refactor and use this systematically in all our pages.

Banner looks great!

Love this!  I can find you a graphic of the Arcade T-shirt