phil65 / skin.estuary Goto Github PK
View Code? Open in Web Editor NEWPublic repository for the Kodi default skin "Estuary"
License: Other
Public repository for the Kodi default skin "Estuary"
License: Other
.setPluginCategory | .setContent | top left text | expected |
---|---|---|---|
test | 'movies' | 'Movies / PluginName / test' | |
test | 'tvshows' | 'TV Shows / PluginName / test' | |
test | - | 'Videos / test' | 'PluginName / test' or 'Videos / PluginName / test' |
Since 17-RC3 no ability to open a context-menu in favorites to resort or delete favorites on my Nvidia Shield.
The next gen Estuary looks great!
I have only small suggestions to improve the look.
In kodi17 beta6 the fanarts moving from the right side into the screen if you change the categories of the main-menu (Movies/TV Shows/Music/Music Videos...)
Maybe its possible that the fanart comes not from the right side but fading in/fading over the fanart/picture that before displayed.
Sorry for my english and hope you understand me :)
With Estuary they is no way to display only the Visualisation with no other GUI items, when you enter Full Screen Music you see:
This always stays on screen until you press I to dismiss the on screen info, however you are still left with:
For me when in Full Screen Music with Visualisation enabled then it's the Visualisation I want to be the major focus, so I want to be able to have nothing getting in the way of it.
Confluence had a good balance where entering Full Screen in Confluence would give:
With no input from user after 10 seconds the info would auto disappear leaving:
Giving the Visualisation full focus with nothing blocking/getting in the way of it. The info would only then reappear for 10 seconds on each track change. If the user always wanted the Info on screen they could press I to show the info (with no time out in this case) then press I again to hide when no longer wanted.
a user just reported this on the forum. While movies show the media info (HD/SD, audio stream, aspect ratio, ...) this info seems to be missing in episode views of tv-shows.
Right now playing a disc is really tricky.. you have to navigate through files to get to play the dvd (videos -> files -> drive -> bdmv/index.bdmv - video_ts/video_ts.ifo)
If I want to do a pull request so you can look at some of my modifications to see if you want to merge them, to which branch should I do them? Seems like either master or Krypton.
Can you please tag the latest commit containing v1 of the skin?
If you add a video add-on (Youtube for example) to the favourites it doesn't open at all. It just is doing nothing. The specific part of the log looks like:
09:28:57.169 T:140664174684544 DEBUG: Keyboard: scancode: 0x24, sym: 0x000d, unicode: 0x000d, modifier: 0x0
09:28:57.222 T:140664174684544 DEBUG: OnKey: return (0xf00d) pressed, action is Select
09:28:57.232 T:140664174684544 DEBUG: Loading settings for addons://user/plugin.video.youtube
09:28:57.233 T:140664174684544 DEBUG: CPlayerCoreFactory::GetPlayers(addons://user/plugin.video.youtube)
09:28:57.233 T:140664174684544 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: system rules
09:28:57.233 T:140664174684544 DEBUG: CPlayerSelectionRule::GetPlayers: matches rule: system rules
09:28:57.233 T:140664174684544 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: mms/udp
09:28:57.233 T:140664174684544 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: lastfm/shout
09:28:57.233 T:140664174684544 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: rtmp
09:28:57.233 T:140664174684544 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: rtsp
09:28:57.233 T:140664174684544 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: streams
09:28:57.233 T:140664174684544 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: dvd
09:28:57.233 T:140664174684544 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: dvdimage
09:28:57.233 T:140664174684544 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: sdp/asf
09:28:57.233 T:140664174684544 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: nsv
09:28:57.233 T:140664174684544 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: radio
09:28:57.234 T:140664174684544 DEBUG: CPlayerCoreFactory::GetPlayers: matched 0 rules with players
09:28:57.234 T:140664174684544 DEBUG: CPlayerCoreFactory::GetPlayers: adding videodefaultplayer (VideoPlayer)
09:28:57.234 T:140664174684544 DEBUG: CPlayerCoreFactory::GetPlayers: for video=1, audio=0
09:28:57.234 T:140664174684544 DEBUG: CPlayerCoreFactory::GetPlayers: for video=1, audio=1
09:28:57.234 T:140664174684544 DEBUG: CPlayerCoreFactory::GetPlayers: added 1 players
09:28:57.236 T:140664174684544 DEBUG: Radio UECP (RDS) Processor - new CDVDRadioRDSData
09:28:57.236 T:140664174684544 NOTICE: VideoPlayer: Opening: addons://user/plugin.video.youtube
09:28:57.236 T:140664174684544 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
09:28:57.236 T:140664174684544 DEBUG: LinuxRendererGL: Cleaning up GL resources
09:28:57.236 T:140664174684544 DEBUG: CLinuxRendererGL::PreInit - precision of luminance 16 is 16
09:28:57.236 T:140661378508544 DEBUG: Thread VideoPlayer start, auto delete: false
09:28:57.237 T:140661378508544 NOTICE: Creating InputStream
09:28:57.237 T:140661378508544 ERROR: CVideoPlayer::OpenInputStream - error opening [addons://user/plugin.video.youtube]
09:28:57.237 T:140661378508544 NOTICE: CVideoPlayer::OnExit()
09:28:57.237 T:140661378508544 DEBUG: OnPlayBackStopped: play state was 1, starting 1
09:28:57.237 T:140661378508544 DEBUG: Thread VideoPlayer 140661378508544 terminating
09:28:57.237 T:140664174684544 DEBUG: OnPlayBackStopped: play state was 3, starting 0
09:28:57.237 T:140664174684544 ERROR: PlayMedia could not play media: addons://user/plugin.video.youtube
09:28:57.237 T:140663701694208 DEBUG: CAnnouncementManager - Announcement: OnStop from xbmc
09:28:57.237 T:140664174684544 DEBUG: Keyboard: scancode: 0x24, sym: 0x000d, unicode: 0x0000, modifier: 0x0
That's reproducable with Kodi 17b7 on Ubuntu 16.04 (intel hardware) and at least with a RPi running LibreELEC. The add-on works fine from the normal add-ons section.
Here is the full log I did later: http://paste.ubuntu.com/23659140/
Tried to open Youtube from favourites at line 1414
Let me know if you need something else.
Greetings
09:10:54 T:138579477568 DEBUG: ------ Window Init (DialogSeekBar.xml) ------
09:10:54 T:138579477568 DEBUG: Window DialogSeekBar.xml was already loaded
09:10:54 T:138579477568 DEBUG: Alloc resources: 0.01ms
09:10:54 T:138579477568 ERROR: CGUITextureManager::GetTexturePath: could not find texture 'flags/starrating/.png'
09:10:54 T:138579477568 DEBUG: ------ Window Init (Custom_1109_TopBarOverlay.xml) ------
as this video shows, the progress bar and the knob indicating current position are not moving at the same speed. Not sure if it's something the skin can influence or if it's a core issue.
I don't have this genre pack installed
08:16:28 T:139043247168 ERROR: DoWork - Direct texture file loading failed for resource://resource.images.moviegenreicons.transparent/Romance.png 08:16:28 T:139043247168 DEBUG: GetImageHash - unable to stat url resource://resource.images.moviegenreicons.transparent/Romance.png 08:16:28 T:139043247168 ERROR: DoWork - Direct texture file loading failed for resource://resource.images.moviegenreicons.transparent/Animation.png 08:16:28 T:139043247168 DEBUG: GetImageHash - unable to stat url resource://resource.images.moviegenreicons.transparent/Animation.png 08:16:28 T:139043247168 ERROR: DoWork - Direct texture file loading failed for resource://resource.images.moviegenreicons.transparent/Family.png 08:16:28 T:139043247168 DEBUG: GetImageHash - unable to stat url resource://resource.images.moviegenreicons.transparent/Family.png 08:16:28 T:139043247168 ERROR: DoWork - Direct texture file loading failed for resource://resource.images.moviegenreicons.transparent/Comedy.png 08:16:28 T:139043247168 DEBUG: GetImageHash - unable to stat url resource://resource.images.moviegenreicons.transparent/Comedy.png 08:16:28 T:139043247168 ERROR: DoWork - Direct texture file loading failed for resource://resource.images.moviegenreicons.transparent/Adventure.png 08:16:28 T:139043247168 DEBUG: GetImageHash - unable to stat url resource://resource.images.moviegenreicons.transparent/Adventure.png 08:16:28 T:139043247168 ERROR: DoWork - Direct texture file loading failed for resource://resource.images.moviegenreicons.transparent/Science Fiction.png 08:16:28 T:139043247168 DEBUG: GetImageHash - unable to stat url resource://resource.images.moviegenreicons.transparent/Science Fiction.png 08:16:28 T:138660537408 DEBUG: RunQuery took 31 ms for 25 items query: SELECT * FROM tvshow_view WHERE watchedCount != 0 AND totalCount != watchedCount ORDER BY c00
in addition to the current time, it would be nice to also see the current date in the top bar. This could probably be optional, like the weather
I think it would be good to show a list of local songs in the album info screen, even if there is no metadata for that album.
Second improvement would be a simple "play" button to be able to play or enqueue the album from this screen.
The fav widget behaves a bit different than others. This is mostly noticeable in the focus effect, which is much slower compared to other widgets. Maybe use WidgetListSquare for that? I know it'll cut off movie posters etc, but as we can't have mixed item layouts depending on media type, it'll always look different to all other windows for one of the media types.
From time to time I use fast-forward to get to a clip faster and enable subtitles to still get all the dialog. This worked great in confluence because all the progress stuff was on the top of the screen. Estuary covers the subtitles with the progress bar.
The right hand 'unwatched' portion is transparent enough to read the top line of subtitles, but the 'watched' portion is too opaque.
Ideally the subtitles would move to the top of the screen when the OSD would cover them, but moving the progress bar to the top of the screen when subs are enable would work as well.
This is using the built-in estuary from xbmc.git revision 1dd86137b04008f30ac5879c4966a2c06a4f4b85 from the krypton branch, aka "yesterday morning".
This could be a core issue as you normally get the browse dialog which works from other places
Can't add screenshot since win32 is broken for add-ons installs :)
Once you go to weather you'll see the location button is off centered and kinda small as it normally contains city/country which is now scrolling continuously
As Kodi is running in fullscreen mode on Android, there is no back button visible by default. To get the OS back button, you have to swipe up from the bottom. Doing so, I almost always hit something within Kodi (or any other app) which really sucks. Therefor it would be nice to have a dedicated back button in touch mode. Maybe ditch the fav icon for that, as I don't think it's something you really need at hand on every screen.
Maybe it is also possible to add an option for own categories in favorites. That would be great to sort your favorites like you want.
For various Mediatypes or for sort by Family Groups...
The next gen Estuary looks great!
I have only small suggestions to improve the look.
I think it would looks a bit better if the shadow for all tiles would a bit more/stronger.
I mean the tiles for all covers and the other things in the front.
Currently, the the shadow is hardly noticeable and a bit more of 3D animation would not harm :)
Hi phil65, when you have time can you please see this videos:
Iris - NOS http://static1.nos.pt/iris/video/features/806x454_recomendacoes.mp4
Iris - NOS http://static1.nos.pt/iris/video/features/806x454_gravacao_auto.mp4
Iris - NOS http://static1.nos.pt/iris/video/features/806x454_iris_online.mp4
Iris - NOS http://static1.nos.pt/iris/video/features/806x454_gravacao_avancada.mp4
Iris - NOS http://static1.nos.pt/iris/video/features/806x454_restart.mp4
Iris - NOS http://static1.nos.pt/iris/video/features/806x454_personalizacao.mp4
Iris - NOS http://static1.nos.pt/iris/video/features/806x454_videoclube.mp4
I hope you like it...
Cheers
There's a spinning disc visible underneath the first "Program add-ons" icon in the Add-ons menu. You'll only see the spinning disc when the first icon is a) not selected and b) the icon is transparent.
Video: https://www.dropbox.com/s/e9zjeipq0kj5ukj/VID_20170114_224423.mp4?dl=0
If the first icon is selected or the icon is opaque so that you can't see the spinning disc, the disc may still be spinning as evidenced by the increased CPU load and temperature.
If I navigate to Settings (back up the Home menu, clicking on the cogged wheel), then exit back to the Home menu and navigate back down to Add-ons, the spinning disc is no longer visible, nor does it cause increased CPU load/temperature, so it appears the spinning disc is disabled after accessing Settings - maybe an uninitialized boolean/condition?
On low powered devices this spinning disc increases CPU/GPU load considerably. On an RPi3, although it only increases CPU load from an idle average of ~2.5% to ~8%, it does increase the SOC temperature considerably up to about 72C from 54C, while the system is otherwise idle. On an RPi it might max out the single CPU core. As soon as I switch away from the Add-ons menu the system load and temperature return to normal.
on home screen, the button "remove this menu item" in Musicvideos node is not working atm
Could you please add back the movie titles to the Wall view in movies but without unnecessary border around the poster?
Current the "options" text is continuously shown next to the arrow/cogwheel. Perhaps just show it for several seconds while entering a windows (or whatever) and then hide the text and keep the arrow/cogwheel.
I'm sure users will learn what the icon means and then text because superfluous. Just a thought
after upgrading to latest Krypton nightly (kodi-20161229-61cd863-Krypton-armeabi-v7a.apk), now I see:
21:28:44.592 T:18446744072290323224 ERROR: DoWork - Direct texture file loading failed for resource://resource.images.studios.white/AMC.png
21:28:44.616 T:18446744072290323224 ERROR: DoWork - Direct texture file loading failed for resource://resource.images.studios.white/BBC Two.png
21:28:44.617 T:18446744072290323224 ERROR: DoWork - Direct texture file loading failed for resource://resource.images.studios.white/CBS.png
assuming its because of:
https://github.com/phil65/skin.estuary/blob/master/xml/Home.xml#L153
Core issue but adding it here so i don't forget
18:04:33 T:14244 DEBUG: CDirectoryProvider[favourites://]: refreshing..
18:04:33 T:11564 DEBUG: CVideoDatabase::RunQuery took 8 ms for 1 items query: select * from movie_view WHERE (movie_view.idFile IN (SELECT DISTINCT idFile FROM bookmark WHERE type = 1))
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/genres.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/titles.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/years.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/actors.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/directors.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/studios.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/sets.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/country.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/tags.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/recentlyaddedmovies.xml/folder.jpg
18:04:33 T:14244 DEBUG: CDirectoryProvider[favourites://]: refreshing..
18:04:33 T:11564 DEBUG: CVideoDatabase::RunQuery took 8 ms for 1 items query: select * from movie_view WHERE (movie_view.idFile IN (SELECT DISTINCT idFile FROM bookmark WHERE type = 1))
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/genres.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/titles.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/years.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/actors.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/directors.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/studios.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/sets.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/country.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/tags.xml/folder.jpg
18:04:33 T:7272 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/movies/recentlyaddedmovies.xml/folder.jpg
18:04:33 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/tvshows/genres.xml/folder.jpg
18:04:33 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/tvshows/titles.xml/folder.jpg
18:04:33 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/tvshows/years.xml/folder.jpg
18:04:33 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/tvshows/actors.xml/folder.jpg
18:04:33 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/tvshows/inprogressshows.xml/folder.jpg
18:04:33 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/tvshows/studios.xml/folder.jpg
18:04:33 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/tvshows/tags.xml/folder.jpg
18:04:33 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://video/tvshows/recentlyaddedepisodes.xml/folder.jpg
18:04:34 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://music/genres.xml/folder.jpg
18:04:34 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://music/artists.xml/folder.jpg
18:04:34 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://music/albums.xml/folder.jpg
18:04:34 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://music/singles.xml/folder.jpg
18:04:34 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://music/songs.xml/folder.jpg
18:04:34 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://music/years.xml/folder.jpg
18:04:34 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://music/top100/folder.jpg
18:04:34 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://music/recentlyaddedalbums.xml/folder.jpg
18:04:34 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://music/recentlyplayedalbums.xml/folder.jpg
18:04:34 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://music/compilations.xml/folder.jpg
18:04:34 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://music/playlists.xml/folder.jpg
18:04:34 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://music/musicroles/folder.jpg
18:04:34 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://music/files.xml/folder.jpg
18:04:34 T:8940 WARNING: XFILE::CFileFactory::CreateLoader - unsupported protocol(library) in library://music/addons.xml/folder.jpg
Hi
On start big thanks @phil65 from you v2 version - is so great, modern, clear, fast.
and in most scenario simple.
but since confluence in KODI anyone which using PVR each day at home - they usual dont use/choose default skin of kodi including estuary. that why i so many mods on forum.
And sometimes PVR section on other skins is great but rest poor.
I think now when PVR support from engine side in KODI is great, and estuary has evolved into v2 (great skin) is maybe time to open on some request from users side. Special when like me i really love
estuary v2. but PVR section force me to using other skins :(
Even for my wife or children is dificult to use PVR.
is more like VideoPlayer than normal LiveTV which we know from TV or STB.
I fully understand some compromises which you must keep for conciseness with other section in skin like video, music, etc.
below is some examples or nice GUI PVR, maybe you consider adopt some in your skin
or get inspiration to improve in your style/way
Thanks again for great skin
I found https://github.com/phil65/skin.estuary/blob/master/build.bat which seem to be for windows; how does one build under linux?
I've got a problem when I use the youtube plugin with the estuary skin. Watched videos are not marked as watched (no icon is shown, no color change, etc.). If I switch to another skin (e.g. eminence or confluence), watched videos are marked with a tick.
Hello estuary-devs,
at the moment I can't find a option to change the weather icons. Maybe you can add an option for that to the skin-settings or to weather in the main menu?
Thanks for your work
I think it would be good to have a "tags" widget in movies, tv-shows and music nodes on home screen. Could be next to the playlist widgets
In the weather window you can focus and select the top bar to cycle through the locations. IMO it would be better to also add a zoom effect to this panel when focused.
From a usability POV it IMO would be better though to switch locations by simply pressing left/right when the item is focused and indicate that with arrows. I didn't really notice the help text showing up when focusing that item, nor did I expect it to be focusable at all.
The next thing I'd change is the presenation of the weather provider and the name of the location. I'd move the provider name to the very top, so that it reads "Weather / provided by X" where the provided by part could have a smaller font face. Then I'd move the name of the location to the focusable top panel or above. When moved above, the arrows icons to switch locations should probably be next to the location name. Maybe ryanmah already has a nice layout for that, didn't check.
We have a lot of overlays but no way to set full backgrounds and change the opacity of the pattern / background inside Kodi.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.