Use jdk11 for the Jenkins master/develop verification builds

This is to make sure we maintain compatibility with jdk11 after all the hard work of trying to support it.
We can still use jdk8 for PR builds so we are sure that jdk8 still works.

Relates to #1148

@barthanssens

Also check if jenkins is using maven 3.6.x

Our Jenkins instance currently doesn't have JDK 11 installed unfortunately, most recent is JDK 9. Not entirely sure about the maven version either.
I'll check if we can get this upgraded. There was also talk earlier about migrating Eclipse projects away from the old 'shared-resource' Jenkins instance we're on, to a setup on a Kubernetes cluster. It's possible that we can only bump these versions by migrating to that new setup. See https://wiki.eclipse.org/CBI#CI_Environment_.28Jenkins.29 for details.

Our maven version is currently 3.6.0 according to this page: https://wiki.eclipse.org/Jenkins#Apache_Maven

Logged a request to update our Jenkins instance: https://bugs.eclipse.org/bugs/show_bug.cgi?id=553127

We could start by bumping to jdk 9.

Not sure if  JDK 9 and 10 are worth the effort, since they aren't LTS releases (and already EOL ...)

https://www.oracle.com/technetwork/java/java-se-support-roadmap.html
https://access.redhat.com/articles/1299013

Wasn't thinking we use jdk9 for anything useful, just to use it to run the compliance tests on the master and develop branch. Most of the breaking changes are in jdk9, so if it builds on 9 it's likely to build on 11 too.

Jdk 11 and maven 3.6 have been installed, so we can tweak Jenkins when we want.

Swapped to 11 on master verify now.

And on develop


failed to deploy on heroku

`ATTENTION: This operation should not be executed in a production environment.
Creating database schema...
Database schema created successfully!

  [Symfony\Component\DependencyInjection\Exception\EnvNotFoundException]
  Environment variable not found: "MAILER_URL".

doctrine:schema:create [--dump-sql] [--em [EM]] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--] `

@cybernet thanks for reporting it! Could you please try if the #687 change solves the issue? Thanks!

no :(

  [Symfony\Component\DependencyInjection\Exception\EnvNotFoundException]
  Environment variable not found: "DATABASE_URL".

@cybernet we finally solved the original MAILER_URL bug (see #687) but regarding the other issue about DATABASE_URL, according to this comment you need to install or configure or enable some addon on Heroku. Cheers!


Flink 7077

Description
This PR extends #4555 - please disregard commits from Aug 16, 2017.
[FLINK-7077] [mesos] Implement task release to support dynamic scaling
- SlotManager: fix for idleness tracking (`markIdle` shouldn't reset `idleSince` on every call)
- ResourceManager: change `stopWorker` method to use `ResourceID`
- ResourceManager: schedule callbacks from `ResourceManagerActions` onto main thread
- MesosResourceManager: implement `stopWorker`
- MesosResourceManager: fix for message routing from child actors to RM

This change added tests and can be verified as follows:

MesosResourceManagerTest::testStopWorker

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no

Documentation

Does this pull request introduce a new feature? no

Thanks for you contribution @EronWright. MesosResourceManagerTest seems to fail on Travis.

@tillrohrmann fixed the test issue and other noted issues.  Once #4555 is in, this is good to go.
The test issue was a race in RM acquiring leadership vs RPC call.   Added some code to TestLeaderElectionService to wait for leader ack and updated the base RM and Mesos RM to use it.


Design: banner

Descriptive summary
Instead of a static banner across the home page, is there a way to incorporate a slideshow of selected images from various Contributors?

Duplicate of #84


Added option to select items using letters and numbers

As described in #756, added option to capture alphanumeric characters and use them to select the first item in options that starts with the selected letter or number. To enable this feature, specify :enable-alphanumeric-selection="true".
The feature will only work if the taggable option is set to false, as that should take precedence if users need to add tags that aren't in the list.
Documentation and examples were updated to reflect the change.

On first sight, it looks good. Gonna look some more into it tomorrow! Thanks for the contribution.


v20.1.8 drop support of CodeClimate integration - to speedup CI.

[Current coverage][cc-pull] is 100%

Merging [#529][cc-pull] into [master][cc-base-branch] will not change coverage

@@           master   #529   diff @@
====================================
  Files          28     28
  Lines         429    429
  Methods       108    108
  Messages        0      0
  Branches        0      0
====================================
  Hits          429    429
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last updated by [81bd043...cb49857][cc-compare]
[cc-base-branch]: https://codecov.io/gh/eugene-matvejev/battleship-game-api/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/eugene-matvejev/battleship-game-api/compare/81bd0435de64f59a9d57b65527b2bba930054741...cb49857c4a0e1a37f52fa8cb00b78b584744a578
[cc-pull]: https://codecov.io/gh/eugene-matvejev/battleship-game-api/pull/529?src=pr


Can't add to codebase

I cannot add to the codebase without massive conflicts, because all changes are currently being committed straight to master. I would love to tackle some bugs and improve the backend, but with all of the commits being made to master, I can't.

Okay I'll start branching from now on! :)


Fix #2320: properly size filter texture and viewport

This patch is to fix "Bug 2" of #2320. It does so by properly sizing both the filter texture and the initial viewport.

This is awesome and definitely getting closer. One issue I have found however, is that it ends up breaking down if you add more than 2 filters in a very interesting way. I have update the demo code to reflect this - if you click the Add Scene Filter button, it creates a super tiny, filtered image super imposed on top of the unfiltered image. - http://wtf.amadeus.wtf/phaser-filter-bug-demo/#4

Should be good now, I had missed the output texture location :P


Fix documentation

Fix typos in the documentation and edit some formatting.

@pushkar2112 can you fix the conflict we are seeing here?

@pushkar2112 can you fix the conflict we are seeing here?

@ocefpaf I will look into it and try to resolve the conflict!

The tests are failing but not b/c of this PR. Let's merge this. Thanks @pushkar2112!


we should add a filer monitor

Sometime, key deleted successfully, but file delete failed.

how about we try to delete the file first?

I think the source code is too complex. We should delete some feature and increase stability.
More simple less bug.

I will put this application in a production environment.
I'll comment later.

Closing this. You can create a new one with more details or exact feature request.


".cargo-checksum.json" is not friendly to merge tools

The ".cargo-checksum.json" file generated by cargo vendor for each vendored crate is not very friendly to merge tools. It contains all data in one line, which makes  it hard to figure out the change for merge tools (and human who handles the conflict).
Cargo should probably pretty-print the json to that file, and keep each file in separate lines.

Yeah it's true it's not very merge-friendly, but why would we want it to be? It's just a blob of opaque json and the files already have good diffs associated with them?

Hmmm, yeah, you're right. It doesn't seem to be necessary. I hope merge tools can treat each vendored crate as a whole rather than trying to merge every single file :/ But that's not related to cargo anyway.


Example Application

I know that Edge is very new but it would be great to put together some kind of basic demo application.  After I spend a bit more time with the codebase I would be happy to do this :)

That would be excellent! I plan to update the repo with a Dockerfile and host an image on Docker Hub, so that might help out quite a bit with that. It would also be cool to implement a Heroku app, which was asked about in #7.

That sounds great.  I should have some time this weekend to dive in.

Likewise!

So I've been working on an example application and I think I need to add in a routing framework like Express so that it's much easier to just spin up a quick web app. Still messing around with the design. I'd like it be obvious to both people familiar with reactive programming and those who are not.

Yes, I think that without at least a basic routing framework it will be
tough.
--
Damian Esteban
On November 5, 2016 at 9:10:00 PM, Tyler Cloutier<EMAIL_ADDRESS>wrote:

So I've been working on an example application and I think I need to add
in a routing framework like Express so that it's much easier to just spin
up a quick web app. Still messing around with the design. I'd like it be
obvious to both people familiar with reactive programming and those who are
not.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/SwiftOnEdge/Edge/issues/13#issuecomment-258653423,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEV_AiZcLsXsBdSUsUp6MfhL-oq8auPOks5q7SjogaJpZM4KkozV
.

Working on this currently. I made some much needed improvements to Reflex yesterday. I think that should make the design go more smoothly.

@damianesteban Take a look at the routing example in the README here: https://github.com/SwiftOnEdge/Edge/blob/routing/README.md
It was a little tricky to implement, but I think it turned out pretty nice in the end. It still needs quite a bit of work, but the core idea is there.

Ok, this week I have time (for real).  I'll let you know how it goes.


feat: update snyk SR-8

update snyk to 1.771

:tada: This PR is included in version 3.5.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Url::current([10=>null]) not removing numeric key

What steps will reproduce the problem?
URL: http://<IP_ADDRESS>/yii2/?10=1
Now remove the 10 key:
\yii\helpers\Url::current([10=>null])
this also happens in case of replacing an array:
\yii\helpers\Url::current(['es'=>[]])
What is the expected result?
URL: http://<IP_ADDRESS>/yii2/?
What do you get instead?
URL: http://<IP_ADDRESS>/yii2/?10=1
Additional info
Config:
'components' => [ ..         'urlManager' => [             'enablePrettyUrl' => true,             'showScriptName' => false,             'suffix' => '/',             ..         ], .. ],

Q
A

Yii version
2.0.12

PHP version
7.1.4

Operating system
WIN

PR with fix: #14940

Now if you want to unset only one nested get param like this Url::current([$model->formName() => ['status_id' => null]]) it will remove all params that were in $_GET under $model->formName()
May be it will be better to use array_replace_recursive instead of array_replace?

Please create a separate issue. Comments on closed issues would be lost for sure.


[Bug]: Entire season/series folders are deleted when the last episode expires

What happened?
I have started using ytdl-sub which keeps the subscription archive file in the series folder where it downloads to. Some of the last episodes from a channel were deleted this morning, and the entire series folder is gone so now it's redownloading the channel as a new subscription. I would like to have the series folder retained (perhaps the season too but I'm less concerned about that).
I'm going to look at the ytdl-sub options to see if it can keep the subscription details somewhere else, but thought I'd come here first to see if there was some way media cleaner could change it's behaviour.
This doesn't happen when I manually delete so something is different about how media cleaner deletes episodes. Here's the jellyfin log from one of the channels where this happened:
[2024-01-08 20:16:57.189 +00:00] [INF] [103] MediaCleaner.MediaCleanupTask: ("Episode") ""2023-12-29 - The step-by-step, mechanical logic of old pinball machines"" will be deleted because expired for: "spyder (01/06/2024 02:42:37)"
[2024-01-08 20:16:57.206 +00:00] [INF] [103] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: "Episode", Name: "2023-12-29 - The step-by-step, mechanical logic of old pinball machines", Path: "/media/youtube/andy/tv/Technology Connections/Season 2023/s2023.e122901 - The step-by-step, mechanical logic of old pinball machines.webm", Id: 7a0badaa-93ae-9e4d-02dc-a665e67d377f
[2024-01-08 20:16:57.222 +00:00] [INF] [103] Emby.Server.Implementations.Library.LibraryManager: Deleting item path, Type: "Episode", Name: "2023-12-29 - The step-by-step, mechanical logic of old pinball machines", Path: "/media/youtube/andy/tv/Technology Connections/Season 2023/s2023.e122901 - The step-by-step, mechanical logic of old pinball machines.webm", Id: 7a0badaa-93ae-9e4d-02dc-a665e67d377f
[2024-01-08 20:16:57.244 +00:00] [INF] [103] Emby.Server.Implementations.Library.LibraryManager: Deleting item path, Type: "Episode", Name: "2023-12-29 - The step-by-step, mechanical logic of old pinball machines", Path: "/media/youtube/andy/tv/Technology Connections/Season 2023/s2023.e122901 - The step-by-step, mechanical logic of old pinball machines-thumb.jpg", Id: 7a0badaa-93ae-9e4d-02dc-a665e67d377f
[2024-01-08 20:16:57.244 +00:00] [INF] [103] Emby.Server.Implementations.Library.LibraryManager: Deleting item path, Type: "Episode", Name: "2023-12-29 - The step-by-step, mechanical logic of old pinball machines", Path: "/media/youtube/andy/tv/Technology Connections/Season 2023/s2023.e122901 - The step-by-step, mechanical logic of old pinball machines.nfo", Id: 7a0badaa-93ae-9e4d-02dc-a665e67d377f
[2024-01-08 20:16:57.349 +00:00] [INF] [103] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: "Season", Name: "Season 2023", Path: "/media/youtube/andy/tv/Technology Connections/Season 2023", Id: 194e5d41-4a9c-9070-d20a-37bb3c5887e0
[2024-01-08 20:16:57.366 +00:00] [INF] [103] Emby.Server.Implementations.Library.LibraryManager: Deleting item path, Type: "Season", Name: "Season 2023", Path: "/media/youtube/andy/tv/Technology Connections/Season 2023", Id: 194e5d41-4a9c-9070-d20a-37bb3c5887e0
[2024-01-08 20:16:57.451 +00:00] [INF] [103] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: "Series", Name: "Technology Connections", Path: "/media/youtube/andy/tv/Technology Connections", Id: 8a433fcf-2113-96de-6246-a4ec2e08b86a
[2024-01-08 20:16:57.454 +00:00] [INF] [103] Emby.Server.Implementations.Library.LibraryManager: Deleting item path, Type: "Series", Name: "Technology Connections", Path: "/media/youtube/andy/tv/Technology Connections", Id: 8a433fcf-2113-96de-6246-a4ec2e08b86a

And later when I deleted the redownloaded file manually:
[2024-01-09 02:38:39.151 +00:00] [INF] [110] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: "Episode", Name: "2023-12-29 - The step-by-step, mechanical logic of old pinball machines", Path: "/media/youtube/andy/tv/Technology Connections/Season 2023/s2023.e122901 - The step-by-step, mechanical logic of old pinball machines.webm", Id: 7a0badaa-93ae-9e4d-02dc-a665e67d377f
[2024-01-09 02:38:39.170 +00:00] [INF] [110] Emby.Server.Implementations.Library.LibraryManager: Deleting item path, Type: "Episode", Name: "2023-12-29 - The step-by-step, mechanical logic of old pinball machines", Path: "/media/youtube/andy/tv/Technology Connections/Season 2023/s2023.e122901 - The step-by-step, mechanical logic of old pinball machines.webm", Id: 7a0badaa-93ae-9e4d-02dc-a665e67d377f
[2024-01-09 02:39:39.185 +00:00] [INF] [108] Emby.Server.Implementations.IO.LibraryMonitor: "Season 2023" ("/media/youtube/andy/tv/Technology Connections/Season 2023") will be refreshed.

Troubleshooting info

Jellyfin version: 10.8.13
Plugin version: <IP_ADDRESS>

Configuration

<PluginConfiguration>
  <KeepMoviesFor>-1</KeepMoviesFor>
  <KeepPlayedMovies>AnyUser</KeepPlayedMovies>
  <KeepFavoriteMovies>AnyUser</KeepFavoriteMovies>
  <KeepEpisodesFor>1</KeepEpisodesFor>
  <KeepPlayedEpisodes>AnyUser</KeepPlayedEpisodes>
  <KeepFavoriteEpisodes>AnyUser</KeepFavoriteEpisodes>
  <DeleteEpisodes>Episode</DeleteEpisodes>
  <KeepVideosFor>-1</KeepVideosFor>
  <KeepPlayedVideos>AnyUser</KeepPlayedVideos>
  <KeepFavoriteVideos>AnyUser</KeepFavoriteVideos>
  <KeepAudioFor>-1</KeepAudioFor>
  <KeepPlayedAudio>AnyUser</KeepPlayedAudio>
  <KeepFavoriteAudio>AnyUser</KeepFavoriteAudio>
  <KeepAudioBooksFor>-1</KeepAudioBooksFor>
  <KeepPlayedAudioBooks>AnyUser</KeepPlayedAudioBooks>
  <KeepFavoriteAudioBooks>AnyUser</KeepFavoriteAudioBooks>
  <UsersIgnorePlayed />
  <UsersPlayedMode>Ignore</UsersPlayedMode>
  <UsersIgnoreFavorited />
  <UsersFavoritedMode>Ignore</UsersFavoritedMode>
  <LocationsExcluded>
    <string>/media/youtube/andy/tv</string>
    <string>/media/youtube/andy/music videos</string>
  </LocationsExcluded>
  <LocationsMode>Include</LocationsMode>
  <MarkAsUnplayed>false</MarkAsUnplayed>
</PluginConfiguration>

Log

[Deb] MediaCleanupTask: UsersPlayedMode: Ignore
[Deb] MediaCleanupTask: UsersIgnorePlayed:
[Deb] MediaCleanupTask: UsersFavoritedMode: Ignore
[Deb] MediaCleanupTask: UsersIgnoreFavorited:
[Tra] JunkCollectors.SeriesJunkCollector: Collecting played items for 2 users started at 01/09/2024 02:39:01
[Deb] ItemsAdapter: "20240107 - When LCD Displays Arrived, Did We Notice They Were Worse Than CRT？" played by "spyder" (01/09/2024 02:33:46)
[Deb] ItemsAdapter: "20230926 - These Healthy Stir Fries will (quickly) improve your life." played by "spyder" (01/09/2024 01:57:17)
[Deb] ItemsAdapter: "20230303 - How Tiny Formula 1 Engines Make 1000 HP!" played by "spyder" (01/08/2024 21:07:21)
[Deb] ItemsAdapter: "20230428 - Why Are" played by "spyder" (01/08/2024 21:07:17)
[Deb] ItemsAdapter: "20231214 - 50 Food Mistakes You Need To Avoid" played by "spyder" (01/08/2024 04:07:58)
[Deb] ItemsAdapter: "20231215 - Do You Really Need AWD？ Settling The Winter Tire Debate" played by "spyder" (01/08/2024 02:37:51)
[Deb] ItemsAdapter: "20231201 - Formula 1 V10 - The Greatest Engine Of All Time？" played by "spyder" (01/08/2024 02:30:45)
[Deb] ItemsAdapter: "2024-01-06 - Super Mario RPG: 25 Years Later a Nintendo Classic" played by "spyder" (01/07/2024 20:31:00)
[Deb] ItemsAdapter: "2024-01-01 - LITERALLY SWARMED | Pre-wipe Tarkov Shenanigans" played by "spyder" (01/06/2024 17:16:20)
(some lines removed, sorry, not putting my whole media server in the log)
[Deb] JunkCollectors.SeriesJunkCollector: Filters order: Expired, Favorites, Locations, Series
[Deb] JunkCollectors.SeriesJunkCollector: 394 items before filtering
[Tra] Filtering.ExpiredFilter: Filtering item "20240107 - When LCD Displays Arrived, Did We Notice They Were Worse Than CRT？"
[Tra] Filtering.ExpiredFilter: Filtering item "20230926 - These Healthy Stir Fries will (quickly) improve your life."
[Tra] Filtering.ExpiredFilter: Filtering item "20230303 - How Tiny Formula 1 Engines Make 1000 HP!"
 Settling The Winter Tire Debate"
[Tra] Filtering.ExpiredFilter: Played by "spyder"
[Tra] Filtering.ExpiredFilter: Filtering item "20231201 - Formula 1 V10 - The Greatest Engine Of All Time？"
[Tra] Filtering.ExpiredFilter: Played by "spyder"
[Tra] Filtering.ExpiredFilter: Filtering item "2024-01-06 - Super Mario RPG: 25 Years Later a Nintendo Classic"
[Tra] Filtering.ExpiredFilter: Played by "spyder"
[Tra] Filtering.ExpiredFilter: Filtering item "2024-01-01 - LITERALLY SWARMED | Pre-wipe Tarkov Shenanigans"
[Tra] Filtering.ExpiredFilter: Played by "spyder"
[Tra] Filtering.ExpiredFilter: Filtering item "20231203 - Ancient Money Secrets Revealed! Kuan Tian： The Untold Story"
[Tra] Filtering.ExpiredFilter: Filtering item "2023-12-24 - THIS IS A HORROR GAME - Escape from Tarkov"
(some lines removed, sorry, not putting my whole media server in the log)
[Tra] JunkCollectors.SeriesJunkCollector: "20240107 - When LCD Displays Arrived, Did We Notice They Were Worse Than CRT？" filtered by Expired
[Tra] JunkCollectors.SeriesJunkCollector: "20230926 - These Healthy Stir Fries will (quickly) improve your life." filtered by Expired
[Tra] JunkCollectors.SeriesJunkCollector: "20230303 - How Tiny Formula 1 Engines Make 1000 HP!" filtered by Expired
[Tra] JunkCollectors.SeriesJunkCollector: "20230428 - Why Are" filtered by Expired
[Tra] JunkCollectors.SeriesJunkCollector: "20231214 - 50 Food Mistakes You Need To Avoid" filtered by Expired
[Tra] JunkCollectors.SeriesJunkCollector: "20231203 - Ancient Money Secrets Revealed! Kuan Tian： The Untold Story" filtered by Expired
(some lines removed, sorry, not putting my whole media server in the log)
[Deb] JunkCollectors.SeriesJunkCollector: 5 items after filtering
[Tra] JunkCollectors.SeriesJunkCollector: Collecting finished at 01/09/2024 02:39:02
[Inf] MediaCleanupTask: (Episode) "2023-12-24 - THIS IS A HORROR GAME - Escape from Tarkov" will be deleted because expired for: spyder (01/04/2024 21:57:06)
[Inf] MediaCleanupTask: (Episode) "2024-01-01 - LITERALLY SWARMED | Pre-wipe Tarkov Shenanigans" will be deleted because expired for: spyder (01/06/2024 17:16:20)
[Inf] MediaCleanupTask: (Episode) "2024-01-06 - Super Mario RPG: 25 Years Later a Nintendo Classic" will be deleted because expired for: spyder (01/07/2024 20:31:00)
[Inf] MediaCleanupTask: (Episode) "20231201 - Formula 1 V10 - The Greatest Engine Of All Time？" will be deleted because expired for: spyder (01/08/2024 02:30:45)
[Inf] MediaCleanupTask: (Episode) "20231215 - Do You Really Need AWD？ Settling The Winter Tire Debate" will be deleted because expired for: spyder (01/08/2024 02:37:51)

Hi. How exactly ytdl-sub keeps track of subscriptions? Does it store metadata file in series/season folders? Or some magic around downloaded episodes filename?

Oh I forgot to include a link 🫣 https://ytdl-sub.readthedocs.io/en/latest/
It stores metadata in the series folder. Given a channelname,  There's a .ytdl-sub-<channelname>-download-archive.json which stores the list of youtube IDs such as
{
  "5HSjJU562e8": {
    "extractor": "youtube",
    "file_names": [
      "Season 2023/s2023.e121901 - Reverse Engineering Game Code from the Neutral Zone-thumb.jpg",
      "Season 2023/s2023.e121901 - Reverse Engineering Game Code from the Neutral Zone.info.json",
      "Season 2023/s2023.e121901 - Reverse Engineering Game Code from the Neutral Zone.nfo",
      "Season 2023/s2023.e121901 - Reverse Engineering Game Code from the Neutral Zone.webm"
    ],
    "upload_date": "2023-12-19"
  }
}

In the default config, it has a "season" for each year. It also creates .nfo files for the series, each season and each episode, but I think that's just standard jellyfin data.
I looked into another media cleanup tool that has an option to always keep one episode, but it's harder to get started with so I haven't gotten around to it yet. I would very much appreciate a similar feature here.

I made exception when series folder contains .ytdl-sub-<channelname>-download-archive.json it wouldn't be deleted. In my tests (not very deep, honestly) this should be enough. Please, report back if it will work the intended way 😀

That looks like it should work! My files are names like .ytdl-sub-Skill Up-download-archive.json and .ytdl-sub-Retro Game Mechanics Explained-download-archive.json which looks like it will match. I'll update and report back after the next cleanup run.

Apologies, I thought I had set an expiration date but must've forgotten to save. I just set it, and ran the media cleanup task manually rather than wait until tomorrow, it's working well and keeps the folder after deleting every episode and season 👍 Thank you!


Truncate the case resolution reason text due to Slack limit

Slack has a 3000 character limit on section text, so we're truncating the resolution text in case it is longer.

It looks like you can set a max_length on the plain text input field, which I assume will pop an error if you exceed the limit, and prevent you from submitting. [0]
Do you think that UX would be preferable?

[0] Plain-text input element

@wssheldon porque no los dos?

LGTM. My suggestion would be store the 3000 in a constant to prevent things from getting out of sync across the codebase.


Implement EmptySectionComponent

Nice idea. Are you planning to remove the stuff in Notification Component that's specific to the 'empty' variant?

Yes eventually! The notification component will be usurped by govuk_notification_banner

Review app deployed to https://teaching-vacancies-review-pr-3137.london.cloudapps.digital


Indexing dependencies and searching using them.

I'm not sure in what format we want to expose this, but seems to be useful in general. Some possible alternatives (for later refinement):

we could use different keywords for direct- dev- or transitive dependencies (e.g. devDependency:packageName)
we could default to search only direct and dev dependencies, and include all if: dependency*:package or *dependency:package is specified

Besides search, we could put a link on each package page: "Who is using this?"

Nice!

@isoos – you made travis 😭


add refactor of convert private field to getter and setter

Fixes #12417

After thinking, I tend to not support readonly, because of the following two case:
1. Initializer is not a Literal (may be side effects)
public readonly a : TT = new TT;

it cannot be convert as Literal
public get a () {
  return "Literal";
}

2.
before:
public readonly a : TT = new TT;

after:
private _a: TT = new TT;

public get a () {
  return this._a
}

i can mod _a in the context of same class
This does not match the readonly semantics
or:
private readonly _a: TT = new TT;

public get a () {
  return this._a
}

This does not seem to make any sense

@mhegazy
PropertyDeclaration is not existed in ClassLikeContainer in JS(maybe)  😂

ahhhh, could refactor apply withPropertyAssign ?

ahhhh, could refactor apply withPropertyAssign ?

i do not see why not. good point.

@andy-ms any more comments?

thanks @Kingwl!. wanna get the readonly support in next?

sure 😅

wait for pr been merged which @andy-ms has send and thanks for the review 😬

Go for it.


Wrong font for bold text in WSL

Windows Terminal version (or Windows build number)
1.10.1933.0
Other Software
WSL2
Steps to reproduce
Get any output that should be displayed in bold.
Expected Behavior
Bold text is displayed in same font which normal text is displayed.

Actual Behavior
Bold text is displayed in different font.

Looks to me like that's the same font, just being displayed as bold, as requested. This was added in #109, #10498, and there's a setting to disable it in progress in #10648.

Looks to me like that's the same font, just being displayed as bold, as requested. This was added in #109, #10498, and there's a setting to disable it in progress in #10648.

I have attached screenshots showing the difference from actual Fira Code Bold and the bold displayed when in WSL. I'm sorry if it was't clear enough:
Windows Terminal Preview Version 1.10.1933.0, Powershell:

Windows Terminal Preview Version 1.10.1933.0, WSL2 (Fedora, Ubuntu):

Wait but the point I'm trying to make is that those two screenshots are showing the same font - just with different font weights. For example, here's the same output, but with Ubuntu Mono:
printf "\e[97mthis text is bright \e[mthis text isn't\n\e[1mthis text is bold   \e[mthis text isn't\n\n"

maybe with a better scheme:

The first line, the text is rendered like it was in 1.9 - without the bolding in response to 1m. The second line is the 1.10 variant. It's the same font for both, just, bold.
Which specific font are you using, and how are you emitting those lines of text?

I'm using the font "Fira Code" and the bold text in my screenshot was generated using tput. I tried running your snippet and result text for 'bold' is still the same:

I can assure you, although I can provide visual proof right now, that I'm getting correct bold variants for Fira Code in Gnome Terminal running natively on Fedora.

what font variant did you used?


Import updated Folder / File icons assets and remove the old ones.

Verified that @crousselle has signed the CLA. Thanks for the pull request!

+2

+2


Tag and release on a specific commitish

Solves #31

I didn't realize there's already #19, which also fixes this issue, though that hasn't been updated in well over a month. Additionally, I think it's a more sane default to use context.sha for the target_commitish, as my PR does.
Alternatively, one could set commitish: ${{ github.sha }} in an actions workflow, but I think it's more intuitive that the tag+release is created on the currently checked out commit.

I agree with @fleskesvor that this PR should be merged over #19 . Using the current branch / sha as the default commitish is more intuitive and what I'd expect.

@IAmHughes Any input in this? It's a tiny change, but one we need in an increasing number of repos in my organization. Even Firebase uses my fork in several of their repos.

unsure, but this function doesn't work for us and we are not understand why.
this is how we try it:
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tag_name: ${{ env.version }}
          release_name: Release ${{ env.version }}
          commitish: ${{ env.commitish }}
          draft: false
          prerelease: false

in env.commitish we wrote the current sha after change the version number. release-action runs shortly after we push this change back to github.
with this configuration we get allways:
##[error]Validation Failed
enable debug for action doesn't showes more.

Just so that folks can copy-paste this without going through the docs:
replace:
        uses: actions/create-release@v1

with
        # https://github.com/actions/create-release/pull/32
        uses: fleskesvor/create-release@1a72e235c178bf2ae6c51a8ae36febc24568c5fe

if you want to use this fixed version of the action.

@matklad @fleskesvor,
using your patch version, i can tag the head of current branch which i've checkout out. but i want to tag an older commit and make my release based on that commit.
for example:
HEAD
commit-1
commit-2
commit-3

even by provideing target_commitish: commit-2 the tag is created for HEAD.
is there  any way to tag and release specific commit in the branch?

@sebastian-toepfer That looks like it should work. If debug doesn't turn up any clues, you could try to print those variables in a throwaway step to see if they are what you except them to be, eg.:
- run: |
    echo "version: ${VERSION}"
    echo "commitish: ${COMMITISH}"
  env:
    VERSION: ${{ env.version }}
    COMMITISH: ${{ env.commitish }}

@sebastian-toepfer That looks like it should work. If debug doesn't turn up any clues, you could try to print those variables in a throwaway step to see if they are what you except them to be, eg.:
- run: |
    echo "version: ${VERSION}"
    echo "commitish: ${COMMITISH}"
  env:
    VERSION: ${{ env.version }}
    COMMITISH: ${{ env.commitish }}

@sebastian-toepfer @fleskesvor,  I just had a similar issue. using the long commit-sha worked for me. but using the short hash ( 7 chars) results to same error: validation error

@fleskesvor: have replace sha with branch name it works like a charm now.
Output of a failed run with sha:
Run fleskesvor/create-release@feature/support-target-commitish
  with:
    tag_name: 2020.6
    release_name: Release 2020.6
    commitish: 7251f69f
    draft: false
    prerelease: false
  env:
    version: 2020.6
    commitish: 7251f69f
    default_branch: develop
    GITHUB_TOKEN: ***
##[error]Validation Failed

see now issue :(
sha exists in repo

I just had a similar issue. using the long commit-sha worked for me. but using the short hash ( 7 chars) results to same error: ##[error]Validation Failed

@pivotal-kaveh, perhaps GitHub's releases API doesn't support shorter commit.

Any plans on getting this merged? I noticed that a v1.1.0 of this Action was release a few days ago. Would be great if we can get this included for the next release.

Would really like this pull-request to be merged!

This is now included in v.1.1.1 https://github.com/actions/create-release/releases.
If you all could use it and share if you have any issues. We can point v1 to the new tag after we gain some confidence and there are no issues.

I was able to use this new feature successfully via v1.1.1 in a PR I opened today. I found it a little fiddly, but I think that’s actually mostly due to how many different ways there are to access commit-ish things in the context of a workflow/job execution. At one point I think I may have given it a bare branch name and seen it fail, but I’m not 100% sure.
One tricky thing that we might want to document is that if one uses this action in a job that’s triggered by a pull_request event and does not specify a value for commitish then the tag that’s created will be for a merge commit that’s related to the PR somehow but isn’t actually in the PR… I don’t fully understand what I was seeing but it was pretty weird.
Regardless of that all, this is now working for me and I’m relieved. Thank you @fleskesvor and @mscoutermarsh!

One tricky thing that we might want to document is that if one uses this action in a job that’s triggered by a pull_request event and does not specify a value for commitish then the tag that’s created will be for a merge commit that’s related to the PR somehow but isn’t actually in the PR… I don’t fully understand what I was seeing but it was pretty weird.

Every pull request build is base on last known of "latest HEAD" branch with a "merge" commit. This is how continuous integration handle to verify if the pull request is able to build. You will be able to copy exact commit into your repository's url link after commit/commits path. Then see which commit was used from the branch's commits was built from. However, it's not relative to this pull request. P.S. Creating a release shouldn't happen during active pull request, only on merged. 😉 Cheers!


Update cleanup script to ignore not found errors

Iterates over rules and deletes them
While deleting deployment, ignores NotFound errors.
Ask for namespace as input in interactive mode.

This change is

Jenkins job istio/presubmit passed

Ask for namespace as input in interactive mode.

Jenkins job istio/presubmit passed

that would work. Or take it as a param (-n namespace)


Enable issues on Islandora-Devops/islandora-playbook and add it to the project issue list

Hello,
Since we have been opening up issue queues for various Islandora projects, we should do the same for Islandora-Devops/islandora-playbook. Once this is done its issues should be included in the query that shows the active issues for Islandora. I don't have permission to do this for Islandora.
This came up in today's tech call: https://github.com/Islandora/islandora-community/wiki/March-30%2C-2022

I've just gone ahead and opened an issue queue for Islandora-Devops/islandora-playbook.
I think the current query for active issues will include any issues opened as it includes issues from user:Islandora-Devops , which islandora-playbook is under.

Thanks for doing this! Just curious if it would be worth moving issues for projects that have an issue queue active to those?
At least for me, I think it would make it a little easier to find open issues / solutions?


Error On Playback

When trying to play live tv, I get the following error:

An error occurred trying to play "SHOW NAME".
shaka1001 (Network)

Running Plex Version <IP_ADDRESS>23
Plugin Version 1.6.3
MacOS 10.12.6
Client: Safari Web, iOS

Was this working previously?
Do you have any server logs?

Please try version 1.6.4

I pulled the master branch, and it's working. Thanks!


Added option to show and modify location while uploading

Description
Added option to show and modify location while uploading.
Fixes #8
What changes did you make and why?
User can change the location while uploading. Also can just view the location. Two buttons are added in LocationPicker Activity one for modifying location one for showing in the map app. User can edit location only if he/she click modify button.
Tests performed (required)
Tested lastest master on Pixel 4 with API level 27.
Screenshots (for UI changes only)

@nicolas-raoul I am done implementing what you have told me to do. But sometimes in my emulator is happening. The feature is working as expected most of the time, but sometimes the app is getting crash for the same file. Let me know if you face any crash. Now the feature is working fine. But yesterday, without a single code change for the same file, the app is getting a crash. I think this is a problem with my emulator.

Thanks, it looks great!
I tried 3 times, and got a crash the last 2 times:
06-23 21:36:09.749 21814 21871 W libEGL  : EGLNativeWindowType 0x7a244ef010 disconnect failed
06-23 21:36:09.749 21814 21871 D OpenGLRenderer: eglDestroySurface = 0x7a242d3e00, 0x7a244ef000
06-23 21:36:09.754 21814 21814 D ViewRootImpl@b898420[MainActivity]: Relayout returned: old=[0,0][1080,2280] new=[0,0][1080,2280] result=0x5 surface={valid=false 0} changed=true
06-23 21:36:09.774 21814 21869 D OkHttp  : --> GET https://www.wikidata.org/w/api.php?format=json&action=wbgetentities&ids=Q20043620%7CQ3280212%7CQ11301056%7CQ42312044%7CQ68242762
06-23 21:36:09.775 21814 21869 D CookieManager: Domain:www.wikidata.org
06-23 21:36:09.776 21814 21869 D CookieManager: Adding centralauth cookies
06-23 21:36:09.786 21814 21870 D CategoriesModel: Previous year: 2020
06-23 21:36:09.806 21814 21870 I chatty  : uid=10401(fr.free.nrw.commons) RxCachedThreadS identical 31 lines
06-23 21:36:09.807 21814 21870 D CategoriesModel: Previous year: 2020
06-23 21:36:09.925 21814 21814 D ViewRootImpl@b898420[MainActivity]: setWindowStopped(true) old=false
06-23 21:36:09.926 21814 21814 D ViewRootImpl@b898420[MainActivity]: Surface release. android.view.WindowManagerGlobal.setStoppedState:669 android.app.Activity.performStop:7647 android.app.ActivityThread.callActivityOnStop:4372 android.app.ActivityThread.performStopActivityInner:4350 android.app.ActivityThread.handleStopActivity:4425 android.app.servertransaction.StopActivityItem.execute:41 android.app.servertransaction.TransactionExecutor.executeLifecycleState:145 android.app.servertransaction.TransactionExecutor.execute:70
06-23 21:36:09.939 21814 21814 D ViewRootImpl@b898420[MainActivity]: Relayout returned: old=[0,0][1080,2280] new=[0,0][1080,2280] result=0x1 surface={valid=false 0} changed=false
06-23 21:36:09.964 21814 21941 D OkHttp  : <-- 200 https://commons.wikimedia.org/w/api.php?action=query&format=json&formatversion=2&generator=allimages&gaisort=timestamp&gaidir=older&prop=imageinfo&iiprop=url|extmetadata|user&&iiurlwidth=640&iiextmetadatafilter=DateTime|Categories|GPSLatitude|GPSLongitude|ImageDescription|DateTimeOriginal|Artist|LicenseShortName|LicenseUrl&gaiuser=Syced&gailimit=10&gaicontinue=20210616025436|Vacant_land_surrounded_by_NEC_buildings_2.jpg&continue=gaicontinue|| (700ms, unknown-length body)
06-23 21:36:09.969 21814 21941 D OkHttp  : --> GET https://commons.wikimedia.org/w/api.php?format=json&action=wbgetentities&props=labels&languagefallback=1&ids=M106603079%7CM106603142%7CM106603675%7CM106603724%7CM106603761%7CM106603842%7CM106603864%7CM106603879%7CM106625597%7CM106625617
06-23 21:36:09.971 21814 21941 D CookieManager: Domain:commons.wikimedia.org
06-23 21:36:10.497 21814 21869 D OkHttp  : <-- 200 https://www.wikidata.org/w/api.php?format=json&action=wbgetentities&ids=Q20043620%7CQ3280212%7CQ11301056%7CQ42312044%7CQ68242762 (723ms, unknown-length body)
06-23 21:36:10.558 21814 21925 D skia    : --- Failed to create image decoder with message 'unimplemented'
06-23 21:36:10.562 21814 21925 I chatty  : uid=10401(fr.free.nrw.commons) FrescoIoBoundEx identical 9 lines
06-23 21:36:10.562 21814 21925 D skia    : --- Failed to create image decoder with message 'unimplemented'
06-23 21:36:10.563 21814 21926 D skia    : --- Failed to create image decoder with message 'unimplemented'
06-23 21:36:10.564 21814 21926 I chatty  : uid=10401(fr.free.nrw.commons) FrescoDecodeExe identical 4 lines
06-23 21:36:10.564 21814 21926 D skia    : --- Failed to create image decoder with message 'unimplemented'
06-23 21:36:10.566 21814 21926 W unknown:ProgressiveDecoder: unknown image format, {uri: res:/2131230923, firstEncodedBytes:<PHONE_NUMBER>0500000100, length: 1368}
06-23 21:36:10.961 21814 21941 D OkHttp  : <-- 200 https://commons.wikimedia.org/w/api.php?format=json&action=wbgetentities&props=labels&languagefallback=1&ids=M106603079%7CM106603142%7CM106603675%7CM106603724%7CM106603761%7CM106603842%7CM106603864%7CM106603879%7CM106625597%7CM106625617 (992ms, unknown-length body)
06-23 21:36:11.478  5621  5803 I clp-JNI : Add pinfo.  (channel) bb45cbf fr.free.nrw.commons/fr.free.nrw.commons.upload.UploadActivity (server) (pkg) AppWindowToken{3e897e1 token=Token{a401d48 ActivityRecord{bac4beb u0 fr.free.nrw.commons/.upload.UploadActivity t25238}}} 21814 10401 (action) 0
06-23 21:36:11.479 21814 21814 D ViewRootImpl@d8c0eea[UploadActivity]: ViewPostIme pointer 0
06-23 21:36:11.560  5621  5803 I clp-JNI : Add pinfo.  (channel) bb45cbf fr.free.nrw.commons/fr.free.nrw.commons.upload.UploadActivity (server) (pkg) AppWindowToken{3e897e1 token=Token{a401d48 ActivityRecord{bac4beb u0 fr.free.nrw.commons/.upload.UploadActivity t25238}}} 21814 10401 (action) 1
06-23 21:36:11.561 21814 21814 D ViewRootImpl@d8c0eea[UploadActivity]: ViewPostIme pointer 1
06-23 21:36:11.593 21814 21814 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@8dec04e
06-23 21:36:11.606 21814 21814 I DecorView: createDecorCaptionView >> DecorView@fe833b2[], isFloating: false, isApplication: true, hasWindowDecorCaption: false, hasWindowControllerCallback: true
06-23 21:36:11.632 21814 21814 W ree.nrw.common: Accessing hidden field Landroid/graphics/Typeface;->sSystemFontMap:Ljava/util/Map; (light greylist, reflection)
06-23 21:36:11.687 21814 21814 D InputTransport: Input channel constructed: fd=148
06-23 21:36:11.687 21814 21814 D ViewRootImpl@176b1a9[LocationPickerActivity]: setView = DecorView@fe833b2[LocationPickerActivity] TM=true MM=false
06-23 21:36:11.688 21814 21814 D ViewRootImpl@d8c0eea[UploadActivity]: MSG_WINDOW_FOCUS_CHANGED 0 1
06-23 21:36:11.688 21814 21814 D InputMethodManager: prepareNavigationBarInfo() DecorView@c2ff173[UploadActivity]
06-23 21:36:11.688 21814 21814 D InputMethodManager: getNavigationBarColor() -855310
06-23 21:36:11.698 21814 21814 D SurfaceView: onWindowVisibilityChanged(0) true com.mapbox.mapboxsdk.maps.renderer.glsurfaceview.MapboxGLSurfaceView{9ece05c V.E...... ......I. 0,0-0,0} of ViewRootImpl@176b1a9[LocationPickerActivity]
06-23 21:36:11.699 21814 21814 D ViewRootImpl@176b1a9[LocationPickerActivity]: dispatchAttachedToWindow
06-23 21:36:11.720 21814 21814 D ViewRootImpl@176b1a9[LocationPickerActivity]: Relayout returned: old=[0,0][1080,2280] new=[0,0][1080,2280] result=0x7 surface={valid=true<PHONE_NUMBER>28} changed=true
06-23 21:36:11.722 21814 21871 D mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
06-23 21:36:11.722 21814 21871 D OpenGLRenderer: eglCreateWindowSurface = 0x7a1bfc3f00, 0x79fb1dc010
06-23 21:36:11.729 21814 21814 D SurfaceView: show() Surface(name=SurfaceView - fr.free.nrw.commons/fr.free.nrw.commons.LocationPicker.LocationPickerActivity@9ece05c@0[21814])/@0xb36cd84 com.mapbox.mapboxsdk.maps.renderer.glsurfaceview.MapboxGLSurfaceView{9ece05c V.E...... ......ID 0,0-1080,1785}
06-23 21:36:11.732 21814 21814 D SurfaceView: surfaceCreated 1 #8 com.mapbox.mapboxsdk.maps.renderer.glsurfaceview.MapboxGLSurfaceView{9ece05c V.E...... ......ID 0,0-1080,1785}
06-23 21:36:11.732 21814 21814 D SurfaceView: surfaceChanged (1080,1785) 1 #8 com.mapbox.mapboxsdk.maps.renderer.glsurfaceview.MapboxGLSurfaceView{9ece05c V.E...... ......ID 0,0-1080,1785}
06-23 21:36:11.733 21814 22010 I Mbgl-EGLConfigChooser: In emulator: false
06-23 21:36:11.735 21814 22010 D mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
06-23 21:36:11.739 21814 21814 V Mbgl-ConnectivityReceiver: connected - true
06-23 21:36:11.740 21814 22010 I Mbgl    : {GLThread 38838}[General]: GPU Identifier: Mali-G76
06-23 21:36:11.744 21814 21814 D ViewRootImpl@176b1a9[LocationPickerActivity]: Relayout returned: old=[0,0][1080,2280] new=[0,0][1080,2280] result=0x3 surface={valid=true<PHONE_NUMBER>28} changed=false
06-23 21:36:11.752 21814 21814 D ViewRootImpl@176b1a9[LocationPickerActivity]: MSG_WINDOW_FOCUS_CHANGED 1 1
06-23 21:36:11.752 21814 21814 D InputMethodManager: prepareNavigationBarInfo() DecorView@fe833b2[LocationPickerActivity]
06-23 21:36:11.752 21814 21814 D InputMethodManager: getNavigationBarColor() -855310
06-23 21:36:11.753 21814 21814 D InputMethodManager: prepareNavigationBarInfo() DecorView@fe833b2[LocationPickerActivity]
06-23 21:36:11.753 21814 21814 D InputMethodManager: getNavigationBarColor() -855310
06-23 21:36:11.753 21814 21814 V InputMethodManager: Starting input: tba=fr.free.nrw.commons ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
06-23 21:36:11.753 21814 21814 D InputMethodManager: startInputInner - Id : 0
06-23 21:36:11.753 21814 21814 I InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
06-23 21:36:11.754 21814 21814 D InputTransport: Input channel constructed: fd=155
06-23 21:36:11.754 21814 21814 D InputTransport: Input channel destroyed: fd=112
06-23 21:36:11.770 21814 21814 D ViewRootImpl@176b1a9[LocationPickerActivity]: MSG_RESIZED_REPORT: frame=Rect(0, 0 - 1080, 2280) ci=Rect(0, 117 - 0, 144) vi=Rect(0, 117 - 0, 144) or=1
06-23 21:36:11.919 21814 21824 W System  : A resource failed to call end.
06-23 21:36:12.119 21814 21871 W libEGL  : EGLNativeWindowType 0x7a23d3d010 disconnect failed
06-23 21:36:12.119 21814 21871 D OpenGLRenderer: eglDestroySurface = 0x7a3e4f1700, 0x7a23d3d000
06-23 21:36:12.125 21814 21814 D ViewRootImpl@d8c0eea[UploadActivity]: Relayout returned: old=[0,0][1080,2280] new=[0,0][1080,2280] result=0x5 surface={valid=false 0} changed=true
06-23 21:36:12.126 21814 21814 D ViewRootImpl@d8c0eea[UploadActivity]: setWindowStopped(true) old=false
06-23 21:36:12.126 21814 21814 D ViewRootImpl@d8c0eea[UploadActivity]: Surface release. android.view.WindowManagerGlobal.setStoppedState:669 android.app.Activity.performStop:7647 android.app.ActivityThread.callActivityOnStop:4372 android.app.ActivityThread.performStopActivityInner:4350 android.app.ActivityThread.handleStopActivity:4425 android.app.servertransaction.StopActivityItem.execute:41 android.app.servertransaction.TransactionExecutor.executeLifecycleState:145 android.app.servertransaction.TransactionExecutor.execute:70
06-23 21:36:13.596  5621  5803 I clp-JNI : Add pinfo.  (channel) 83978dc fr.free.nrw.commons/fr.free.nrw.commons.LocationPicker.LocationPickerActivity (server) (pkg) AppWindowToken{917e762 token=Token{61ee62d ActivityRecord{78c544 u0 fr.free.nrw.commons/.LocationPicker.LocationPickerActivity t25238}}} 21814 10401 (action) 0
06-23 21:36:13.597 21814 21814 D ViewRootImpl@176b1a9[LocationPickerActivity]: ViewPostIme pointer 0
06-23 21:36:13.930  5621  5803 I clp-JNI : Add pinfo.  (channel) 83978dc fr.free.nrw.commons/fr.free.nrw.commons.LocationPicker.LocationPickerActivity (server) (pkg) AppWindowToken{917e762 token=Token{61ee62d ActivityRecord{78c544 u0 fr.free.nrw.commons/.LocationPicker.LocationPickerActivity t25238}}} 21814 10401 (action) 1
06-23 21:36:13.932 21814 21814 D ViewRootImpl@176b1a9[LocationPickerActivity]: ViewPostIme pointer 1
06-23 21:36:14.982  5621  5803 I clp-JNI : Add pinfo.  (channel) 83978dc fr.free.nrw.commons/fr.free.nrw.commons.LocationPicker.LocationPickerActivity (server) (pkg) AppWindowToken{917e762 token=Token{61ee62d ActivityRecord{78c544 u0 fr.free.nrw.commons/.LocationPicker.LocationPickerActivity t25238}}} 21814 10401 (action) 0
06-23 21:36:14.982 21814 21814 D ViewRootImpl@176b1a9[LocationPickerActivity]: ViewPostIme pointer 0
06-23 21:36:15.066  5621  5803 I clp-JNI : Add pinfo.  (channel) 83978dc fr.free.nrw.commons/fr.free.nrw.commons.LocationPicker.LocationPickerActivity (server) (pkg) AppWindowToken{917e762 token=Token{61ee62d ActivityRecord{78c544 u0 fr.free.nrw.commons/.LocationPicker.LocationPickerActivity t25238}}} 21814 10401 (action) 1
06-23 21:36:15.067 21814 21814 D ViewRootImpl@176b1a9[LocationPickerActivity]: ViewPostIme pointer 1
06-23 21:36:15.892  5621  5803 I clp-JNI : Add pinfo.  (channel) 83978dc fr.free.nrw.commons/fr.free.nrw.commons.LocationPicker.LocationPickerActivity (server) (pkg) AppWindowToken{917e762 token=Token{61ee62d ActivityRecord{78c544 u0 fr.free.nrw.commons/.LocationPicker.LocationPickerActivity t25238}}} 21814 10401 (action) 0
06-23 21:36:15.892 21814 21814 D ViewRootImpl@176b1a9[LocationPickerActivity]: ViewPostIme pointer 0
06-23 21:36:15.957 21814 21814 V LocationPickerActivity: Map camera has begun moving.
06-23 21:36:16.142  5621  5803 I clp-JNI : Add pinfo.  (channel) 83978dc fr.free.nrw.commons/fr.free.nrw.commons.LocationPicker.LocationPickerActivity (server) (pkg) AppWindowToken{917e762 token=Token{61ee62d ActivityRecord{78c544 u0 fr.free.nrw.commons/.LocationPicker.LocationPickerActivity t25238}}} 21814 10401 (action) 1
06-23 21:36:16.145 21814 21814 D ViewRootImpl@176b1a9[LocationPickerActivity]: ViewPostIme pointer 1
06-23 21:36:16.148 21814 21814 V LocationPickerActivity: Map camera is now idling.
06-23 21:36:17.338  5621  5803 I clp-JNI : Add pinfo.  (channel) 83978dc fr.free.nrw.commons/fr.free.nrw.commons.LocationPicker.LocationPickerActivity (server) (pkg) AppWindowToken{917e762 token=Token{61ee62d ActivityRecord{78c544 u0 fr.free.nrw.commons/.LocationPicker.LocationPickerActivity t25238}}} 21814 10401 (action) 0
06-23 21:36:17.339 21814 21814 D ViewRootImpl@176b1a9[LocationPickerActivity]: ViewPostIme pointer 0
06-23 21:36:17.403  5621  5803 I clp-JNI : Add pinfo.  (channel) 83978dc fr.free.nrw.commons/fr.free.nrw.commons.LocationPicker.LocationPickerActivity (server) (pkg) AppWindowToken{917e762 token=Token{61ee62d ActivityRecord{78c544 u0 fr.free.nrw.commons/.LocationPicker.LocationPickerActivity t25238}}} 21814 10401 (action) 1
06-23 21:36:17.404 21814 21814 D ViewRootImpl@176b1a9[LocationPickerActivity]: ViewPostIme pointer 1
06-23 21:36:17.440 21814 21814 D ViewRootImpl@d8c0eea[UploadActivity]: Relayout returned: old=[0,0][1080,2280] new=[0,0][1080,2280] result=0x1 surface={valid=false 0} changed=false
06-23 21:36:17.442 21814 21814 D AndroidRuntime: Shutting down VM
06-23 21:36:17.443 21814 21814 E AndroidRuntime: FATAL EXCEPTION: main
06-23 21:36:17.443 21814 21814 E AndroidRuntime: Process: fr.free.nrw.commons, PID: 21814
06-23 21:36:17.443 21814 21814 E AndroidRuntime: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=66747, result=-1, data=Intent { (has extras) }} to activity {fr.free.nrw.commons/fr.free.nrw.commons.upload.UploadActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'fr.free.nrw.commons.upload.ImageCoordinates fr.free.nrw.commons.upload.UploadItem.getGpsCoords()' on a null object reference
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at android.app.ActivityThread.deliverResults(ActivityThread.java:4604)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at android.app.ActivityThread.handleSendResult(ActivityThread.java:4646)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1947)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:214)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7032)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'fr.free.nrw.commons.upload.ImageCoordinates fr.free.nrw.commons.upload.UploadItem.getGpsCoords()' on a null object reference
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at fr.free.nrw.commons.upload.mediaDetails.UploadMediaDetailFragment.editLocation(UploadMediaDetailFragment.java:442)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at fr.free.nrw.commons.upload.mediaDetails.UploadMediaDetailFragment.onActivityResult(UploadMediaDetailFragment.java:427)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at androidx.fragment.app.FragmentActivity.onActivityResult(FragmentActivity.java:170)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at fr.free.nrw.commons.upload.UploadActivity.onActivityResult(UploadActivity.java:307)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at android.app.Activity.dispatchActivityResult(Activity.java:7759)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at android.app.ActivityThread.deliverResults(ActivityThread.java:4597)
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	... 11 more

Also, two minor things:

On the screen that shows the picture's location and the two buttons at the bottom, the top title "Choose a location - Pan and zoom to adjust" does not really apply. How about "Picture location - Check whether location is correct" instead?
Let's say I check the location, see that it is correct, so I press my phone's "back" button" to come back to the wizard. I am getting a "Unable to get coordinates" notification which I don't think should be shown.

Cheers!

Ok, I will change the toolbar and toast accordingly.
Attempt to invoke virtual method 'fr.free.nrw.commons.upload.ImageCoordinates fr.free.nrw.commons.upload.UploadItem.getGpsCoords()' on a null object reference
06-23 21:36:17.443 21814 21814 E AndroidRuntime: 	at fr.free.nrw.commons.upload.mediaDetails.UploadMediaDetailFragment.editLocation(UploadMediaDetailFragment.java:442)

But here this behavior is happening with me also. Most of the time It going perfectly but sometimes this crash is showing. Here it says that uploadItem which is uploading, is null after getting back from the LocationPickerActivity. But sometimes uploadItem is not null for the same action and same file. This is weird. If you have any idea or suggestion about this situation. Please let me know.

@nicolas-raoul @neslihanturan Please review it once. Hope I fixed all mentioned issues.

@nicolas-raoul now I tested 3 times and every time it is working fine. Do you have any idea about why it's happening? This crash is very random. For me, it last crashed on 22-06-2021. As it's not crashing for me now, It is not possible for me to do something and test that if this crash is removed or not.

Steps to reproduce the crash:

Download this picture (which has EXIF in a place with many Wikidata items, not sure whether that matters): https://upload.wikimedia.org/wikipedia/commons/c/ca/Akvoŝpruca_kadro_en_Parizo.jpg
Use your phone's "share" feature to send the picture to the Commons app
As the Commons app opens on the caption activity, press the map icon
Press "Edit location"
Move the pin
Press the green check button
Crash

It might crash more often if you do the actions fast.
It crashes for me even if I wait before pressing the map icon
Screencast (sorry for the ugly green privacy filter): https://user-images.githubusercontent.com/99590/123541752-1b144b80-d781-11eb-87f8-aa4aa9d04dd8.mp4

@nicolas-raoul Yes, it's crashing for the given file. But As you are saying sometimes it crashes because of fast action and waiting before clicking the icon.
Please once download this file and test it the same way. Because for me it's not crashing even for the slow action or waiting.
https://upload.wikimedia.beta.wmflabs.org/wikipedia/commons/8/88/Jj.jpg
And for this file it's crashing but the problem is the crash is happening because UploadItem is getting null, after returning to upload activity. But not for every file. For some files the upload item is getting null after returning to upload activity. This is why I can't understand where the problem is occurring. This PR doesn't change uploadItem. But It's getting null sometimes. uploadItem has no relation with editing coordinates till it updates the coordinates. But before updating it's getting null.
First, I thought that maybe the uploadItem can't save it after going to LocationPicker and that's why it's crashing. But now I don't think that is the case, Because if that is the case then the app will crash everytime while editing coordinates. But It's not crashing everytime.
Crash ---->
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'fr.free.nrw.commons.upload.ImageCoordinates fr.free.nrw.commons.upload.UploadItem.getGpsCoords()' on a null object reference

Do you understand what I'm saying?

@nicolas-raoul I figured out something and tried to fix it and The file you provided which is crashing earlier, after this modification it's not crashing anymore. Can you please review it once? Hope the issue is fixed now.

The crash does not happen anymore indeed (I tried 6 times), thanks for fixing!

@nicolas-raoul I made the required changes. Please review.


kubectl get pod  should have PodIP too

From IRC ...
Currently kubectl get pod  only list Host IP on which the pod bounds to, there is no PodIP information. The only way for the user to know PodIP is run the same command with "-o json" flag. This is confusion to the user.
cc @thockin @jasonkuhrt

Already working on a PR for this.

Yay.


Error messages

The methods and functions do not currently provide informative error messages when given incorrect input.

Warnings and errors are output; fixed in v. 0.2.0.


No "R"ead All for CRUD?

I note you can only get a single item (resource) using the /get API routes. Is this deliberate?

Not explicitly. Can you give me a use case?

Standard CRUD. In building an admin panel around it all, you would want to see the list of resources (accounts, currencies, etc) and edit, delete, add another.

The accountQuery request handles accounts, but yes the functionality is missing for other resources. It's really more CRUDL with L for list.
I can see cases where you want to restrict access to "list" capability, which is one reason why accountQuery is a separate route. It makes sense to add this for other resources. I'll start work on that.
Thanks for pointing this out!

Code is in, hope to wrap documentation today and release.

Never say "hope to release today". Release 1.10.0 is out with a suite of query operations and improvements in existing queries. Updated documentation is available.

I didn’t notice any new stuff in the json api docs. E.g. which route returns all currencies?

Nuts. Updated the messages but not everything in the API. will fix. Generally {resource}/query will do the trick.

The navigation menu for the documentation was a manual process, and I missed updating that. Now it's automatic and all the new stuff is discoverable. There is still a problem with the codeselect JSON schema, but this has no operational impact.


try to rebuild for s390x

try to build for s390x as there is no package in defaults

Linter check found the following problems:
The following problems have been found:
ERROR: clone/recipe/meta.yaml:42: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, reference https://spdx.org/licenses/
ERROR: clone/recipe/meta.yaml:49: missing_license_family: The recipe is missing the about/license_family key.
ERROR: clone/recipe/meta.yaml:49: missing_documentation: The recipe is missing a doc_url or doc_source_url
ERROR: clone/recipe/meta.yaml:49: missing_dev_url: The recipe is missing a dev_url
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: clone/recipe/meta.yaml:43: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, reference https://spdx.org/licenses/
ERROR: clone/recipe/meta.yaml:50: missing_dev_url: The recipe is missing a dev_url
ERROR: clone/recipe/meta.yaml:50: missing_documentation: The recipe is missing a doc_url or doc_source_url
ERROR: clone/recipe/meta.yaml:50: missing_license_family: The recipe is missing the about/license_family key.
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: clone/recipe/meta.yaml:43: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, reference https://spdx.org/licenses/
ERROR: clone/recipe/meta.yaml:50: missing_license_family: The recipe is missing the about/license_family key.
ERROR: clone/recipe/meta.yaml:50: missing_dev_url: The recipe is missing a dev_url
ERROR: clone/recipe/meta.yaml:50: missing_documentation: The recipe is missing a doc_url or doc_source_url
Errors were found


Set client status with ws

closes #33. Moved the sheet update into a separate function. When the heartbeat is sent the status is set to TRUE and when the WS closes the status is set to FALSE. With or without the right message, the backend stays open and will not create data where it doesn't match.

also closes #38


[Apple TV] TVTextScrollView is scrollable when scrollEnabled={false}

Description
On Apple TV, TVTextScrollView can be scrolled even when scrollEnabled is false. Not reproducible on Android.
Steps to reproduce

Clone https://github.com/cgoldsby/react-native-tvos-scrolling-bug
The button should say "Not Scrollable"
Focus text view
Swipe down

Expected: The scroll view should not scroll
Actual: Scroll view scrolls.
React Native Version
0.74.0-1
Affected Platforms
Other (please specify)
Output of npx react-native info
N/A

Stacktrace or Logs
N/A

Reproducer
https://github.com/cgoldsby/react-native-tvos-scrolling-bug
Screenshots and Videos
https://github.com/react-native-tvos/react-native-tvos/assets/3449816/99f656a1-9c3f-48b4-a12d-288099c18651

It appears that the handle swipe gesture recognizers do not take into account whether scolling is enabled or disabled.
https://github.com/react-native-tvos/react-native-tvos/blob/e42c9a927f3421e68e0d02e483f57fa2d9b59703/packages/react-native/React/Views/ScrollView/RCTScrollView.m#L1150-L1176


localAddress is not passed to request call

Looks like there's some code that chooses which options to pass to request(), and 'localAddress' isn't one of them.
    var requestArgs = ['uri','url','qs','method','headers','body','form','json','multipart','followRedirect',
        'followAllRedirects', 'maxRedirects','encoding','pool','timeout','proxy','auth','oauth','strictSSL',
        'jar','aws'];

    var req = request(_.pick.apply(this,[ropts].concat(requestArgs)), function(error,response) {

@timbowhite I have fix this in my repo. Please just use my node-webcrawler instead, because the current author won't maintain crawler any more and didn't transfer the repo to any others, I have fixed several critical bugs and will continue to maintain it. I'll continue to make it the best crawler in nodejs world.


Flatten the docs for Model, State, and mathematical functions

The main benefit is that new methods etc are automatically incorporated into the docs.
Similar to https://github.com/dwavesystems/dwave-optimization/pull/73, except for the other classes.

Ah! Already seeing the benefit. It found a broken docstring that wasn't working before. Will fix.


Investigate and develop a pruner component/service within PANIC

Rationale
We must investigate the development and use of a pruner component within PANIC. This component entails the following:

Delete the keys of expired alerts from Redis
Delete old data from MongoDB

The Redis key deletion is self-explanatory while the MongoDB data deletion can be set-up in various ways. One option would be to include an ENV variable with a given value such as 90, which would entail that the pruner should remove data older than 90 days from MongoDB. Moreover, we must investigate whether to include this within an existing component or whether this will be a new separate docker service within PANIC.
For ticket closure
Scenario: The new component/service is started
Given:  The new component/service started
When: Checking the log files for said component/service
Then: You can see correct startup
Scenario: The new component/service has no error logs
Given:   The new component/service is running
When: Checking the log files for said component/service
Then: You can see no error logs
Scenario: The new component/service is removing alerts from Redis correctly
Given:  Redis is up and contains expired alerts
When: Data to be removed exists within Redis
Then: You can no longer see the expired alerts in Redis
Scenario: The new component/service is removing old data from MongoDB correctly
Given:  MongoDB is up and contains old data
When: Data to be removed exists within MongoDB
Then: You can no longer see the old data in MongoDB

Another functionality that we may include here is logs pruning. We can explore different avenues such as:

Deleting files which were created X days ago
Deleting logs from files which were created X days ago. This would require us to also delete empty log files.


Convert gocardless/cli-releases to GitHub Actions

Pipeline migrated from Circle CI :tada:

Closing this in favour of #15


TypeError: 'undefined' when using browserify-shim

Hi there,
Thanks for all the work on karma-browserify.
I am having problems shimming a global. I have created a small repo that demonstrates the issue here: https://github.com/mcoetzee/shim-example
In essence it boils to down to:
package.json
"browserify-shim": {
   "moment": "global:moment"
}

karma.conf.js
files: [
  "https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment.min.js",
  '__tests__/**/*.js'
],

With this setup, when I point to the CDN, I get:
TypeError: 'undefined' is not a constructor (evaluating 'new Moment()')

When I change my karma.conf.js like so:
files: [
  'libs/moment.min.js',
  '__tests__/**/*.js'
],

then the error goes away and my test passes.
Why is it not working when I point to the CDN? I want to use the CDN so that my tests uses the exact same code as in dev/production.

Karma does not support resolving files from URLs, i.e. CDNs.
Include moment.js via npm
npm i moment

and load it locally
files: [
  'node_modules/moment/...'
]

I'm not too sure about Karma not supporting resolving files from URLs - as I just switched to the karma-firefox-launcher and it worked. It resolved moment from the CDN.


nerdctl run/create--restart always -dt does not automatically restart (-t (tty) is the reason of the failure)

Description
The nerdctl run/create --restart always -dt with tty does not automatically restart
When I investigate the https://github.com/containerd/nerdctl/issues/2286 .
I found that the create and run commands are the same, and the '--tty' is the fail reason for the restart.
Steps to reproduce the issue

run in root user
test nerdctl run container and create container

nerdctl create --name=create-test-with-tty --restart always -t alpine:3.13 sleep infinity
nerdctl run --name=run-test-with-tty --restart always -dt alpine:3.13 sleep infinity
nerdctl create --name=create-test --restart always alpine:3.13 sleep infinity
nerdctl run --name=run-test --restart always -d alpine:3.13 sleep infinity
nerdctl ps -a |grep "sleep infinity"

[root@kay121 ~]# nerdctl ps -a |grep "sleep infinity"
1fc019640113    docker.io/library/alpine:3.13                                 "sleep infinity"          15 seconds ago    Created             create-test-with-tty
23384b4bccaa    docker.io/library/alpine:3.13                                 "sleep infinity"          15 seconds ago    Up                  create-test
638dbcd86708    docker.io/library/alpine:3.13                                 "sleep infinity"          15 seconds ago    Up                  run-test
b4db955949b0    docker.io/library/alpine:3.13                                 "sleep infinity"          15 seconds ago    Up                  run-test-with-tty

start the create-test-with-tty (to verify the restart policy later)

nerdctl start create-test-with-tty
nerdctl ps -a |grep "create-test-with-tty"

1fc019640113    docker.io/library/alpine:3.13                                 "sleep infinity"          About a minute ago    Up                  ```

kill the 'sleep' process to verify the restart policy

ps -ef|grep -v grep|grep sleep|awk -F' ' '{print $2}' |xargs kill -9
nerdctl ps -a |grep "sleep infinity"

1fc019640113    docker.io/library/alpine:3.13                                 "sleep infinity"          3 minutes ago     Created             create-test-with-tty
23384b4bccaa    docker.io/library/alpine:3.13                                 "sleep infinity"          3 minutes ago     Up                  create-test
638dbcd86708    docker.io/library/alpine:3.13                                 "sleep infinity"          3 minutes ago     Up                  run-test
b4db955949b0    docker.io/library/alpine:3.13                                 "sleep infinity"          3 minutes ago     Created             run-test-with-tty

Describe the results you received and expected
nerdctl run --restart -dt with tty can work correctly like without tty.
What version of nerdctl are you using?
Client:
Version:       v1.4.0
OS/Arch:       linux/amd64
Git commit:    7e8114a82da342cdbec9a518c5c6a1cce58105e9
buildctl:
Version:
Server:
containerd:
Version:      v1.7.1
GitCommit:    1677a17964311325ed1c31e2c0a3589ce6d5c30d
runc:
Version:      1.1.7
GitCommit:    v1.1.7-0-g860f061b
Are you using a variant of nerdctl? (e.g., Rancher Desktop)
None
Host information
No response

Hi @yankay
I found an issue (#317) where it is mentioned that currently the flags -i and -d cannot be specified together. This validation is implemented in the following files:
https://github.com/containerd/nerdctl/blob/main/cmd/nerdctl/container_exec.go#L73
https://github.com/containerd/nerdctl/blob/main/cmd/nerdctl/compose_run.go#L163
https://github.com/containerd/nerdctl/blob/main/cmd/nerdctl/compose_exec.go#L95
However, the validation is missing in
https://github.com/containerd/nerdctl/blob/main/pkg/cmd/container/create.go#L141


no ref on Marker

Hi,
On most react components and once in Marker react leaflet, I was able to direct the picture once it was loaded. Unfurtantely, whenever I try to use the ref props with Marker, I get an undefined call.
Can anyone know what's the problem?

Hi - the same issue - as @reactvi1 said - the code @YUzhva showed does nothing. In my case nothing is printed in console.

@mkotar which version of react-leaflet-markercluster are you using?

@YUzhva: 1.1.7

Are you exporting markers like:
import Marker from "react-leaflet"?


Improvements to Failed Events experience

Currently, Failed Events go to an S3 or a GCS bucket. This is very inconvenient for analyzing or recovering them. We are looking into loading Failed Events to the data warehouse/lake instead, in a format similar to the enriched events.

?


reactcss with bower.

Is there any way so that we can use reactcss package with bower ?
The scenario is that we are using react-rails package and don't know how to integrate reactcss using npm ? We already have support for both bower and npm in the rails project and we can go for installing reactjs from npm but it will be redundant to do so as
// Include the library
var React = require('react');
var ReactCSS = require('reactcss');

will include the react library too.
Currently React variable is exposed globally and we can use it directly. I just used only the second line i.e. var ReactCSS = require('reactcss');, but is that a good way ?
I'm just wondering what could possibly be right way of developing with ReactCSS

@casesandberg  ??

Looking into it today @piyushchauhan2011

Try:
bower install https://github.com/casesandberg/reactcss.git

In absence of a bower.json :smile:


Time tracking: "Show Relative Time" option no longer available

After this week's update, the "Show Relative Time" option was removed?
The Farming time track lists and infobox now show absolute times.

Select the "Relative" option of the Time format config.

Thanks mate. The wiki may need an update in this case.


Symbol outside defs

Hi, why symbol outside defs? it's true?

Hey,
This is intentional. I've explained the reason in here: https://github.com/nuxt-community/svg-sprite-module/issues/181#issuecomment-685651775


[BEAM-802] Add ValueProvider class for FileBasedSource I/O Transforms

[x] Add ValueProvider class.
[x] Derive StaticValueProvider and RuntimeValueProvider from ValueProvider.
[x] Derive ValueProviderArgumentParser from argparse.ArgumentParser as API for the template user.
[x] Modify FileBasedSource I/O transforms to accept objects of type ValueProvider.
[x] Modify display_data.
[x] Handle serialization / deserialization.

Coverage decreased (-0.01%) to 69.595% when pulling f0dab8f9006177139b906b9cfed808f015cf6c8d on mariapython:ppp_inmaster into 8c1a577fe52ffd02e57f3e65924aced10e38a82a on apache:master.

R: @robertwb

Coverage increased (+0.005%) to 69.172% when pulling aaa6963b4c5f1dee3fbe55f4c5ed913dc9e160f1 on mariapython:ppp_inmaster into a991c9d85dc21023c2da92cdc89b4da974646e82 on apache:master.

Coverage decreased (-0.02%) to 69.284% when pulling 956006561decd5cd8e12ea1c2a85625dac173521 on mariapython:ppp_inmaster into 0d639e63d635903df949a09186d1a6f2c0d9b0ae on apache:master.

Coverage decreased (-0.01%) to 69.309% when pulling 9aff2a5b8a17cee5ecc4b2da756507c8e6fe1939 on mariapython:ppp_inmaster into 4bba380cb011e38bd78c1ec899a6672a6b02fd05 on apache:master.

Coverage increased (+0.003%) to 69.887% when pulling 291665186c989fde4ef4138147a5112f4a95b149 on mariapython:ppp_inmaster into b2428ea60fdc4363bb2734abe1b247f36d0cfe44 on apache:master.

Coverage decreased (-0.01%) to 69.881% when pulling 9bdd60524b802e86c431c8496a0dadbedf181363 on mariapython:ppp_inmaster into<PHONE_NUMBER>bda5aaf34a7c176e11c2441d0a7346 on apache:master.

Coverage remained the same at 70.085% when pulling 1ff44d5bec22f23816443933336e4e24b930dafd on mariapython:ppp_inmaster into 2f96bc3260b98a97d532f8451d8fa63809f1ae51 on apache:master.

Coverage increased (+0.007%) to 70.051% when pulling c5569ca69631a798bcbfbe3cd0ca341dc6f9599b on mariapython:ppp_inmaster into 690e1e27c6286ab6613f8d3487510a3e2c41f8a4 on apache:master.

Coverage remained the same at 70.044% when pulling c5569ca69631a798bcbfbe3cd0ca341dc6f9599b on mariapython:ppp_inmaster into 690e1e27c6286ab6613f8d3487510a3e2c41f8a4 on apache:master.

Coverage decreased (-0.003%) to 70.131% when pulling 6351e5a6be626580457986c178c42c3f0b069250 on mariapython:ppp_inmaster into 781e4172c3f36863d1c9145d4c18cd0910f2436a on apache:master.

Changes Unknown when pulling 5a7e5ff21222810b32ab80d07ad80aa0f3d47728 on mariapython:ppp_inmaster into ** on apache:master**.

Coverage increased (+0.01%) to 70.181% when pulling 761b38a7fbf29b36ac9f2419ae457f71e43c3e12 on mariapython:ppp_inmaster into 843b663cfde305bc622f8fe5a587da855417d253 on apache:master.

Coverage decreased (-0.003%) to 70.177% when pulling 0f9b1d1ecd47e568e91a18a960fda5303590a050 on mariapython:ppp_inmaster into cc12fd37834ce2b0f85cce79dae8821f7c3c1607 on apache:master.

Coverage decreased (-0.02%) to 70.164% when pulling 0f9b1d1ecd47e568e91a18a960fda5303590a050 on mariapython:ppp_inmaster into cc12fd37834ce2b0f85cce79dae8821f7c3c1607 on apache:master.

retest this please

Coverage increased (+0.002%) to 70.183% when pulling 0f9b1d1ecd47e568e91a18a960fda5303590a050 on mariapython:ppp_inmaster into cc12fd37834ce2b0f85cce79dae8821f7c3c1607 on apache:master.

LGTM. Thank you @mariapython

Run Python PostCommit


Angular2 component with paging support done with RxJS

The following code is from a working sample. This is an Angular2 list component with paging with PREV and NEXT buttons. The Angular2 http module uses RxJS.
In the example, you will see that I'm keeping the state like page and totalPages to keep track of the page where it is and is passed to the server to get the data.
I'm not sure I'm using the reactive aspect in this example correctly because of the mutation of the states like page and totalPages.
Appreciate comments on doing it better.
View:

        Agents

    {{agent.UserName}}

    Prev
    Next

Angular2 component:
/// <reference path="agentdetails.ts" />

import {Component, View, bootstrap, NgFor} from 'angular2/angular2';
import {AgentDetailsComponent} from './agentdetails';
import {Http, HTTP_PROVIDERS} from 'angular2/http';

@Component({
    selector: 'agents',
    viewProviders: [HTTP_PROVIDERS],
})
@View({
    directives: [NgFor],
    templateUrl: './app/agents/agents.html'
})
export class AgentsComponent {
    agents: any[];

    private page: number;
    private totalPages: number;

    constructor(private http: Http) {
        this.page = 0;
        this.totalPages = 3;
    }

    onPrev() {
        if (this.page != 0) {
            --this.page;
        }

        this.getAgents();
    }

    onNext() {
        if (this.page <= this.totalPages) {
            ++this.page;
        }

        this.getAgents();
    }

    private getAgents() {
        this.http.get('http://localhost:2000/api/agents/' + this.page)
            .map(res => res.json())
            .subscribe(agents => this.agents = agents);
    }

    onInit() {
        this.getAgents();
    }
}

It looks like this has been answered over on Angular's repo. Closing for now.


x/time/rate: When limit higher burst, Allow() will return true higher burst

What version of Go are you using (go version)?

$ go version
go version go1.12.17 darwin/amd64

What operating system and processor architecture are you using (go env)?

$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/Library/Caches/go-build"
GOEXE=""
GOFLAGS=" -mod="
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/go"
GOPROXY="direct"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/workspace/time/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/cs/47hjwvp92qqb75_p9fxxm3v40000gn/T/go-build201946329=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
Run the following on amd64:
package main

import (
	"fmt"
	"golang.org/x/time/rate"
	"sync"
	"sync/atomic"
	"time"
)

func main() {
	now := time.Now()
	t := time.After(time.Second)

	limit := rate.Limit(100)
	burst := 10
	l := rate.NewLimiter(limit, burst)

	var count int
	for {
		select {
		case <-t:
			fmt.Printf("%ds, %d\n", time.Now().Sub(now).Nanoseconds()/1e9, count)
			return
		default:
			if l.Allow() {
				count++
			}
		}
	}
}

What did you expect to see?
1s, 10

What did you see instead?
1s, 110

I confuse about count is not equals burst size. When I set Limit=100, burst=10, it's should Allow() for max calls is burst.

Lets go through this to clear up your confusion.
You start with a full bucket of size 10.
So 10 tokens can be retrieved effectively immediately.
During the second you wait the bucket gets refilled at 100/s.
So every 100/s of a second Allow returns true.
So all in all you should see 109 to 110 tokens being drawn.
Maybe what you actually want is to have a bucket size of 100 and a refill rate of 10 (and start with an empty bucket)?
As there seems to be nothing wrong here please consider closing this issue.


Alternatives to ieee_value for creating exceptional values

As @awvwgk advised, opening the issue here. Original topic: https://github.com/fortran-lang/fpm/issues/882
Summary of the problem: ieee_arithmetic is not universally supported in gfortran, so using it unconditionally makes it impossible to build on certain platforms.
If it can be substituted without losing functionality, it is perhaps desirable to do so for the sake of better compatibility.

The ieee_value function is used to create values for NaN, Inf and -Inf at
https://github.com/toml-f/toml-f/blob/6290b0bc5f5ebeff231625a3b6685de85f33fc79/src/tomlf/de/lexer.f90#L1297-L1309
If there is a standard conforming way to implement these without ieee_value I'm happy to use those.

One quick hack would be to replace the values with BOZ literals. But this might actually be less portable, since it does not account for endianess.
 if (match(lexer, first, "n")) then
    val = real(z'7FF8000000000001', tfr)
    return
 end if

 if (match(lexer, first, "i")) then
    if (match(lexer, token%first, char_kind%minus)) then
       val = real(z'FFF0000000000000', tfr)
    else
       val = real(z'7FF0000000000000', tfr)
    end if
    return
 end if

@awvwgk Unfortunately I cannot come up with any suggestions as long as Fortran goes. (C++ has implementations for those.)
Using code which does not account for endianness would be a step backward IMO. That will break more platforms than we have broken now :)
To be clear, I am actually looking for a generally optimal solution here, not for a hack to make it work for me. For me it works, I have an experimental fix for gfortran which allows building ieee_arithmetic module. (The error I quoted is from Rosetta system; the same version of fpm builds fine on my PowerMac with kinda-fixed gfortran.)

At least gfortran will create errors in case one tries to use the tricks described in the C++ docs to create exceptional values:
❯ cat exceptional.f90
program exceptional
  implicit none

  print '(g0)', &
    acos(2.0), &
    log(-1.0), &
    sqrt(-1.0)

  print '(g0)', &
    huge(1.0)*2
end program exceptional
❯ gfortran exceptional.f90&& ./a.out
exceptional.f90:5:9:

    5 |     acos(2.0), &
      |         1
Error: Argument of ACOS at (1) must be between -1 and 1
exceptional.f90:6:8:

    6 |     log(-1.0), &
      |        1
Error: Argument of LOG at (1) cannot be less than or equal to zero
exceptional.f90:7:9:

    7 |     sqrt(-1.0)
      |         1
Error: Argument of SQRT at (1) has a negative value
exceptional.f90:10:8:

   10 |     huge(1.0)*2
      |        1
Error: Arithmetic overflow at (1)

Currently I cannot come up with a better solution other than ieee_value which is the standard conforming way to obtain those values (in Fortran there is usually one way and only one way to archive most things).

The only more general fix I can come up with is an internal read, which I am actually trying to avoid in this piece of the code...
 if (match(lexer, first, "n")) then
    read("NaN", *) val
    return
 end if

 if (match(lexer, first, "i")) then
    read("Inf", *) val
    if (match(lexer, token%first, char_kind%minus)) then
       val = -val
    end if
    return
 end if

The only more general fix I can come up with is an internal read, which I am actually trying to avoid in this piece of the code...
 if (match(lexer, first, "n")) then
    read("NaN", *) val
    return
 end if

 if (match(lexer, first, "i")) then
    read("Inf", *) val
    if (match(lexer, token%first, char_kind%minus)) then
       val = -val
    end if
    return
 end if

Is the fallback code feasible or too complicated? Some macro that gonna determine if ieee_arithmetic is supported by the compiler, if not, then use suboptimal, but still working code.

While a somewhat unsatisfying solution, it seems to pass the TOML testsuite. Aince those branches are only relevant for reading exceptional values they are possibly not performance critical, so this should be an okay-ish solution for the time being.

@awvwgk Thank you!

@awvwgk Turned out, there are more instances:
/opt/local/var/macports/build/_opt_PPCRosettaPorts_fortran_toml-f/toml-f/work/build/_deps/test-drive-src/test/test_select.F90:15:20:

   15 |   use, intrinsic :: ieee_arithmetic, only : ieee_value, ieee_quiet_nan
      |                    1
Fatal Error: Cannot find an intrinsic module named 'ieee_arithmetic' at (1)
compilation terminated.
/opt/local/var/macports/build/_opt_PPCRosettaPorts_fortran_toml-f/toml-f/work/build/_deps/test-drive-src/test/test_check.F90:25:20:

   25 |   use, intrinsic :: ieee_arithmetic, only : ieee_value, ieee_quiet_nan
      |                    1

I know, I only removed cases in the library and not the tests.

I know, I only removed cases in the library and not the tests.

I know, I only removed cases in the library and not the tests.

Got it, thanks. Maybe add an option to build without tests then? Now it is unconditional:
# add the testsuite
enable_testing()
set(fpm-toml "${PROJECT_SOURCE_DIR}/fpm.toml")
add_subdirectory("test")


[BUG]: unscaled_grads don't work in sharded_optim_v2.py

🐛 Describe the bug
Hi, I have great respect for this work! But when i debug the tests/test_zero/test_zero_engine.py, i found that on line 230 of sharded_optim_v2.py, the p.grad always equal None, scaling loss never works。And i also debug Colossalai-Examples/language/gpt/train_gpt.py,  unscale_grads function also don't work!
Environment
cossalai==v0.1.7
torch==1.11.0+cu113

And i found that on line 285 in sharded_model_v2.py, all parameter's grad set to None，so unscaled_grad function will works abnormlly.

@feifeibear
Maybe self._prepare_grads() should be called before unscaled_grads?Likes bellow:
if self._prepare_grads_flag == False     self._prepare_grads() do unscaled grads

@ver217 There is another bug!On line 185 of sharded_optim_v2.py, if using pipeline parallelism training or gradient accumulation，the backward will be called many times, but the self.optim_state flag set to OptimState.SCALED at first called, this means loss will be scaled only once time!

Why is the loss scaled only once? Each time you call optimizer.backward(loss), it will be scaled.

Because loss scaled only works with self.optim_state != OptimState.SCALED, once first calling optimizer.backward(loss), self.optim_state will set to OptimState.SCALED, at secord called, the self.optim_state == OptimState.SCALED, loss can't be scaled!

Because loss scaled only works with self.optim_state != OptimState.SCALED, once first calling optimizer.backward(loss), self.optim_state will set to OptimState.SCALED, at secord called, the self.optim_state == OptimState.SCALED, loss can't be scaled!

ShardedOptim does not have this limit. Each time you call optimizer.backward(loss), it will be scaled.

Another question, on line 172 in sharded_optim_v2.py, When using pipeline parallelism，the grads received from last stage has been scaled(last stage model has scaled loss, the received grad also be scaled)，backward_by_grads function don't set self.optim_state to OptimState.SCALED，so self.optim_state always equal to OptimState.UNSCALED if current stage isn't last stage，that means unscaled_grads will not works!

@ver217 Another question, on line 172 in sharded_optim_v2.py, When using pipeline parallelism，the grads received from last stage has been scaled(last stage model has scaled loss, the received grad also be scaled)，backward_by_grads function don't set self.optim_state to OptimState.SCALED，so self.optim_state always equal to OptimState.UNSCALED if current stage isn't last stage，that means unscaled_grads will not works!

Yes, you're right! Thanks for your reply. I've updated #1226


Remove has_vm_support

Fixes https://github.com/hermitcore/uhyve/issues/151.
We can just opt out all tests that contain test_vm.

Elegant solution :+1:
bors r+


Ignore onSelect if selected tab is same and this tab

This should fix an issue where the tab sometimes re-renders when pressing the current tab. I could change this to a boolean prop if for some reason people want the tab to re-render.

@aksonov Any chance this could get merged in please?


feat(pkg/envoy/lds): Switch the gateway listener to proxy mode

Proxy mode should allow the gateway to pick up the original
connection string
Signed-off-by: Sean Teeling<EMAIL_ADDRESS>
Description:

Affected area:

Functional Area

New Functionality
[ x]

Documentation
[ ]

Install
[ ]

CLI Tool
[ ]

Certificate Management
[ ]

Control Plane
[ ]

Ingress
[ ]

Egress
[ ]

Networking
[ ]

Observability
[ ]

SMI Policy
[ ]

Sidecar Injection
[ ]

Security
[ ]

Upgrade
[ ]

Tests
[ ]

CI System
[ ]

Demo
[ ]

Performance
[ ]

Other
[ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project?

Did you notify the maintainers and provide attribution?
No

Is this a breaking change?
No

Codecov Report

Merging #3692 (2bf8159) into main (16902d7) will increase coverage by 0.03%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #3692      +/-   ##
==========================================
+ Coverage   67.39%   67.42%   +0.03%
==========================================
  Files         181      181
  Lines        8772     8781       +9
==========================================
+ Hits         5912     5921       +9
  Misses       2827     2827
  Partials       33       33

Flag
Coverage Δ

unittests
67.42% <100.00%> (+0.03%)
:arrow_up:

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

Impacted Files
Coverage Δ

pkg/envoy/lds/gateway.go
82.92% <100.00%> (ø)

pkg/envoy/lds/inmesh.go
78.11% <100.00%> (+0.87%)
:arrow_up:

pkg/service/service.go
100.00% <100.00%> (ø)

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 16902d7...2bf8159. Read the comment docs.


Trouble with git branching

I have 2 branches foo and bar, both with a clean working directory.
In branch foo I make some changes and then run git status to find I have some changes ready to be staged.
Now if I switch to branch bar and run git status I expect the working directory to be clean. However, I see the changes ready to be staged which I made on branch foo.

Changing branches in a Git repo doesn't 'clean' your index (what tracks your uncommitted changes).
And this is not (obviously) related to LightTable.

If you want to 'save' your changes without committing them, run git stash or git stash -u (to include new files in the stashed changes) before switching branches.

@kenny-evitt of course. I do apologise :+1:

@henrywright No worries!


Route query is not updating

Environment

Operating System: Linux
Node Version:     v18.20.3
Nuxt Version:     3.12.2
CLI Version:      3.12.0
Nitro Version:    2.9.6
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      devtools
Runtime Modules:  -
Build Modules:    -

Reproduction
https://stackblitz.com/edit/github-vcfhxz?file=app.vue
Describe the bug
When using NuxtLayout > NuxtPage and updating the route query and redirecting to a new page the new query set (a: 'new') is not detected, however this works well when not using a NuxtLayout.
Additional context
No response
Logs
No response

Maybe it's just me but I don't understand the issue. What exactly is meant by the new query set (a: 'new') is not detected? What is the expected behavior? What should I see?
This is what I see:

Hi @ElYaiko. I've updated the reproduction to make it work: https://stackblitz.com/edit/github-vcfhxz-wgd28u
It btw. is recommended to use navigateTo instead of router.replace / router.push

The reason is that your component is outside the page component, and you are not accessing the route in a reactive way (the route value updates as soon as the page component has loaded fully).
See this example: https://stackblitz.com/edit/github-vcfhxz-thv9pi?file=components/test.vue.
Let's track in https://github.com/nuxt/nuxt/issues/21340.


RTL support

Is it possible to add an RTL (right to left) support to the calendar?
Here is an example how it should look like (mostly problem is only in arrows)

I have added RTL support.  Can you try version 0.4.1.
There is option rtl: true | false


Infinite loop when trying to add a key to an slave node (Redis)

In my current setup I have one master node and two slaves (readonly), for the purpose of testing in the config file I just defined the endpoints of the slaves node. In this scenario when I try to add a key to the slave node CacheManager gets stuck trying to add the key (confirmed while monitoring the slave node). Also confirmed that StackExchange Redis raise an exception on this scenerio, so I suppose the problem is with the retry part implemented in the handle

I'd consider that as a configuration error. But I'll at least add a check that at least one endpoint is writeable.

Imagine that you have a master and two slaves with a sentinel in case of a failure, if the master goes down the sentinel will promote an slave to master but in that small windows CacheManager could get stuck trying to write to a slavenode

Nope that is all handled by the Stackexchange.Redis client.


Instantiating QsSerializer

Is there support for instantiating QsSerializer like how serde_json provides a new() constructor method?
I intend to use serde_qs with serde_path_to_error::serialize() and they require an impl Serialize object as an argument.

Hey @ticklepoke! sorry for the slow response here.
This is a super reasonable request. Just added to 0.10: https://docs.rs/serde_qs/latest/serde_qs/struct.Serializer.html

Wow thanks for sorting this out! :heart:


fix docs redirects

We need to be careful about adding redirects for any changes of URL.

Is there a way to enforce this?

Is there a way to enforce this?

Not that I know of, but would be really good if we could.

Is there a way to enforce this?

Not that I know of, but would be really good if we could.

I think we can add a pre-commit hook if a .md file under docs changes only the location, and ask for a change on the redirects.


Get-DbaHelpIndex more love needed

While working on something I have found that Get-DbaHelpIndex needs some more love.(@FriedrichWeinmann and I found the following):

It does not handle database connections correctly
It does not handle server connections correctly
It will not work when receiving instances from pipeline, but is configured to accept them
Does not implement correct flow control
Uses illegal cmdlets (Write-Warning)
Does not give information on failure reasons

I believe these issues are all resolved @js0505 can you confirm my thoughts?

It only uses Write-Message and Stop-Function for messaging (should address failure reasons and illegal cmdlets)
Server connections use Connect-SqlInstance so looks ok to me
no longer configured to accept pipeline

Not sure what you mean on database connections, but take a quick look if you can and then hopefully we can close this issue.


[Question] How to check if WebSocketServer is already running ?

I am using this WebSocketServer in Android's Foreground Service,  where I constantly need to check if server is alive. Is there any method like server.isRunning() to check server's state ?

I am using boolean flag to keep track of server's state but i wonder if this approach is 100% reliable or not.

I don't see why it shouldn't be (aside from multithreading issues). If you want to be really precise, you could do something like this:
AtomicBoolean running = new AtomicBoolean(true);
// ...
var server = new Server();
server.setReuseAddr(true);
server.run(); // unlike "start", "run" is a blocking call, put this block in a new thread if needed
// this part will be reached when the server exits
System.out.println("server exited");
running.set(false);


Add e2e test framework and basic Issuer test

These tests do not test the manifests that we have specified in the docs/ directory. Those instructions are subject to change, so there's little point us putting effort into that now (we still need to make a helm chart etc.)