Merge nix-shell and build environments of haskell derivations

This is an experiment to merge the .env and the normal build environment of packages by using ghcWithPackages for building too. The duplication of store paths is avoided by building the wrapper in a temporary directory directly while building the derivation itself. The advantages of this approach are:

You can use nix-shell on normal derivations and don't need to deal with the .env attribute
There now is only one approach in Nixpkgs' haskell packaging to make GHC find libraries: building a symlinked package db. This ensures that there is no package that builds but doesn't work with the wrapper.
We don't need GHC_PACKAGE_PATH, which doesn't work well with cabal-install

I've successfully build all packages from https://github.com/peti/ci/blob/master/haskell-nixpkgs.nix with big = false with the new builder. Of course this means that any changes to the wrapper also require recompilation of all haskell packages, but the wrapper doesn't change that often anyway. The wrapper for the old haskellPackages set was changed last in November 2013, for example, which is over a year ago.
/cc @peti and anyone else interrested in haskell nixpkgs packaging.

 :) I really can't get it from the description.

@jagajaga You don't need a separate .env attribute for haskell derivations anymore. This means that you can use nix-build and nix-shell on the same derivation, and also that the build environment more closely mirros the nix-shell environment

@bennofs oh! got it. Looks nice. :+1:

I implemented the same feature in https://github.com/NixOS/nixpkgs/commit/bbb109c7a761c965b74e3789b3623d5544b37f05 a while ago: instead of creating a custom package.conf.d database locally for the build, the generic builds would re-use ghcWithPackages to create a wrapped ghc variant that knew all required packages. As you can see from the commit message, I felt enthusiastic about that change. :smile:
The design goals I hoped to achieve were:

Simpler code in the generic builder.

Allow buildinsteads to bake the full path of ghc into their code to obtain a build environment in which they can re-compile themselves, like xmonad and friends do.

Unify the normal nix-build process with the interactive nix-shell environment.

As it happens, the new code didn't meet those goals entirely.
Regarding (1), the code did become simpler, but only marginally so, because some logic is still required to compute the proper set of buildInputs, the proper --extra-include-dirs and --extra-lib-dirs flags for Cabal, etc. Re-using the wrapper saved a handful of lines here and there, but IMHO it didn't make the structure of the builder much simpler.
Goal (2) came through, of course, but at a price: with the new builder, every Haskell build required an additional build to set up its compiler environment. In other words, an attempt to build 1 derivation actually built 2, littering /nix/store with thousands of ghc environments within a couple of hours. Arguably, most of those derivations where build-time-only dependencies that Nix can garbage-collect, but still this kind of wastefulness felt a little disconcerting.
Last but not least, goal (3) did work out, but it became apparent that there is trouble on the horizon. In my attempts writing the generic builder, I tried hard to leave buildInputs empty. The reason is that ghc is not supposed to find system libraries automatically; instead we must call cabal configure with the proper search paths to make sure Cabal bakes those paths into the generated package.conf file. Otherwise, we run the risk that those builds are unusable outside of the Nix build environment, i.e. when people use a ghcWithPackages environment in their normal shell. It turned out, however, that I cannot achieve an empty buildInputs attribute, because our build specifications aren't accurate enough to compute all required settings properly. I'm currently addressing this issue is in the wip branch:
$ cabal2nix cabal://gtk3
{ mkDerivation, array, base, bytestring, cairo, containers, gio
, glib, gtk2hs-buildtools, gtk3, mtl, pango, stdenv, text, time
, transformers
}:
mkDerivation {
  pname = "gtk3";
  version = "0.13.4";
  sha256 = "041yg1h7g7mm3iy6wz8mp74ximw63vc4x918gpha5lpj6l2fxaqh";
  isLibrary = true;
  isExecutable = true;
  libraryDepends = { haskell = [array base bytestring cairo containers gio glib mtl pango text];
                     system = [ gtk2hs-buildtools ]; pkgconfig = [ glib gtk3 ];
                   };
  executableDepends = { haskell = [array base cairo gtk3 text time transformers]; };
  homepage = "http://projects.haskell.org/gtk2hs/";
  description = "Binding to the Gtk+ graphical user interface library";
  license = stdenv.lib.licenses.lgpl21;
}

The new build description distinguishes nicely between Haskell library dependencies (that ghc ought to know about by means of package.conf.d), system libraries (that Cabal ought to know about by means of --extra-include-dirs and --extra-lib-dirs), package config dependencies (that Cabal ought to know about by means of calling pkg-config at run-time), etc. With that information, we'll be able to run build in an (almost) empty environment, i.e. we pass all necessary information to cabal configure instead of relying on $NIX_CFLAGS magic and its like. IMHO, that change will make our builds much more robust.
Now, the problem with regard to unifying nix-build and nix-shell is that nix-shell can, in general, not call cabal configure for you. If you call cabal configure yourself, however, how do you pass all those required flags? Right now, the env environment "just works" because we use $NIX_CFLAGS style magic to let ghc find system dependencies automatically without being told about their location. That's fine (and actually desirable) for an interactive development environment. In non-interactive nix-builds, however, we don't want that!
At some point I began to wonder whether the fact that those two build styles had separate attributes (which allows the user to choose the one she prefers) is a good thing, actually.
Furthermore, I have some ideas for the ghcWithPackages wrapper that make perfect sense in user environments -- but they don't make sense for non-interactive builds. As an example, I'd like to add code that wraps all binaries in $out/bin to ensure they set the required $NIX_GHC variables. This can be useful for programs like ghc-mod. The feature is nice for a user environment, but it's pointless inside of nix-build because we control the shell environment in there, so these wrappers don't achieve anything. My point is that re-using the wrapper inside of generic builds saves some complexity, but it also adds some complexity, because sooner or later we'll end up adding conditional logic to the wrapper to distinguish whether it's used in one case or the other.
Now, your pull request chooses a slightly different path than my implementation, because it doesn't request the ghcWithPackages environment from Nix. Instead, it builds that environment in a temporary location. This technique avoids the plethora of derivations that my code generated, which is great! At the same time, this approach breaks design goal (2), because now builds run with a ghc binary that lives in a transient location and won't exist anymore after the build is complete.
As far as the other pros and cons are concerned, both your and my implementation seem to be about the same.

Thank you very much for this extremly detailed response! I see now why you choose to go the path of an .env attribute.
So this PR can be closed then.


Agdroid 319

This includes support for performing OAuth based authentication using web browser intents.
How To Test :

make sure you have aerogear-android-core', aerogear-android-security', aerogear-android-pipe', and aerogear-android-store',  installed at 2.2.0-SNAPSHOT (ie latest from master).
fetch https://github.com/secondsun/aerogear-android-cookbook/tree/AGDROID-319 and configure the Shoot and Share demo
Make sure you have a keycloak instance running of the Shoot and Share server.
** Note if you are using KC 1.2.0 the realm.json file did not import correctly for me and I had to set the realm up manually
Take a picture and upload with keycloak providing the authentication
Profit

Todo and Notes :

As per the ML post from last week, this works best if your service support custom URI schemas.  We need up update the documents for this
Once people have +1'd this I will merge and submit a PR for the ShootAndShare demo.

@danielpassos @matzew eyes?

:eyeglasses:

:+1: works like advertised
I thought that I could be smart and configure google with an iOS OAuth client, that way the redirect url would be org.aerogear.shoot:/oauth2Callback, but see how there is only one slash seems that that doesn't work, to bad just one slash 😭

@edewit Yeah Android doesn't like the only one slash


Broken link

The link here 'see "Driver Threads, Dispatcher Objects, and Resources" ' seems to be broken, leads to the front page

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: fe860a8c-e67b-4419-6b5e-bd8085baa859
Version Independent ID: becfef9c-98b6-b2b9-37d1-0f03b9fbd46d
Content: KeStackAttachProcess function
Content Source: wdk-ddi-src/content/ntifs/nf-ntifs-kestackattachprocess.md
Service: unspecified
GitHub Login: @windows-driver-content
Microsoft Alias: windowsdriverdev

Thanks, @kromych, for catching this.
@PageWriter-MSFT, this link is trying to direct to d="kernel.driver_threads__dispatcher_objects__and_resources" type="ovw"
It's still in WDCML, but I don't know where that content moved to in the migration. Can you find it?
Thank you.


Using the "@" symbol and typing a complete email address in a chat, pressing Enter does not share the email

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open any chat.
Type "@" followed by the complete email address.
Press Enter.
Notice that the suggestion list closes after the first press of Enter, and the email is shared only after the second press of the Enter key.

Expected Result:
The email should be shared, and the suggestion list should close simultaneously when the Enter key is pressed.
Actual Result:
The suggestion list closes with a single press of the Enter key, and the email is shared only after pressing Enter for the second time (Works fine if we press send button using mouse).
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.18-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/28e57441-9e0d-42d3-8866-b376deedf4af
https://github.com/Expensify/App/assets/43996225/9f6a726c-2c19-475b-b5e6-2097f89304bf
Expensify/Expensify Issue URL:
Issue reported by: @usmantariq96
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1684818498899249
View all open jobs on GitHub

This looks like intended behaviour, I don't think it should be a bug.


Updated passport-oauth2 version to 1.4.0

Since<EMAIL_ADDRESS>used arguments.callee in one instance it could not be used with ES6 and therefore newer versions of node<EMAIL_ADDRESS>uses this.constructor to solve this issue.

Thanks! I merged and pushed as v2.1.0


Fixes header bug and README examples

This PR:

adds a check for existence of origin header

I encountered an error when running locally with server-based WebRTC as setHeader requires both a header name and a header value.

adds the missing error argument to README examples for createServer callback

see https://github.com/diasdavid/webrtc-connect/blob/master/src/index.js#L67
see https://github.com/diasdavid/webrtc-connect/blob/master/src/index.js#L117

sweet! thank you for catching this and submiting a PR @kgryte!

No problem. Good talk today. P2P is the shizzle. :)


Rename "multicellular organismal development"

to: Rename "multicellular organism development"
The adjectival form suggests that it's anything pertaining to the organism. But the class actually means whole organism.
Reported by: cmungall
Original Ticket: geneontology/ontology-requests/10101

Only changed organismal -> organism where the process refers to something happening to the whole organism (e.g. development, aging), rather that a process that occurs at the organism level (now all organismal).


Suggestion: Uniq improvement

Hi there. Here is one pass variant of Uniq implementation. You can use this code or the idea:
// Uniq returns a slice of unique values.
func Uniq[A ~[]T, T comparable](arr A) []T {
	ret := make(A, 0)
	m := make(map[T]struct{})

	for _, elem := range arr {
		if _, ok := m[elem]; !ok {
			m[elem] = struct{}{}
			ret = append(ret, elem)
		}
	}

	return ret
}

Thanks! I thought about memory allocations, but it doesn't matter in this case.
Used it.


Change the hard coded url to the detail pages

Describe the bug
Currently, the URL to the detail pages is partially hard coded (line 73 of dashtable_v2). We need it to be dynamic based on the user.
Current behavior
When you click on the "details" link next to a student, the app redirects you to the details page with the following url:
/dashboard/v2/details/clh3ppzvg0001br794kgbw39a/ + ${studentName}
Notice that the classroom ID clh3ppzvg0001br794kgbw39a is hard coded.
Expected behavior
The details page url should have a dynamic classroom ID:
/dashboard/v2/details/ + ${classroomID}/ + ${studentName}
We need to include the classroomID in the props of GlobalDashboardTable() in dashtable_v2.js

Please assign this to me. I would love to solve this issue.

Hi @Qianru69 , is there a better way to do this? Currently, we are using an old setup that creates dynamic URLs, but I think that we can somewhat simplify this by doing something like this:
/dashboard/v2/details?classroom=${classroomId}
for viewing a specific student, we can do the following:
/dashboard/v2/details?classroom=${classroomId}/view?${studentId}
I think once this app is deployed, the amount of data and requests a page such as a classroom dashboard will get will cause too many endpoints to be formed, lowering the overall performance and scalability of the app. We could discuss this further if needed, but I think we can start moving toward something like this. we can create an API that grabs a specific classroom's data and then serves that data to our /details view.
Either way, let me know what you think!

Hi @GuillermoFloresV, this looks like a better and more organized url. Sorry that I wasn't aware of this. Yep. I agree that in order to deal with the big amount of actual student data, it would be great if we could build an API to grab the data needed for each page.

Hi @Qianru69  / @GuillermoFloresV  / @utsab  you can mark this issue as closed view #343.


plugin doesn't work in local IDEA Ultimate

I can add a session token and see my workspaces, but if I attempt to open an IDE, the screen closes and returns me to the main IDEA screen

Should be fixed now.


ci: use new GCP credentials for release GCP images workflow

What problem does this PR solve?:
Which issue(s) does this PR fix?:

https://jira.d2iq.com/browse/D2IQ-NUMBER

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

successful run https://github.com/mesosphere/konvoy-image-builder/actions/runs/11846128829


Options are not fully displayed

Hello,
I'm currently using ng2-selectize and I'm facing an issue trying to display options. My component looks like this :
<ng2-selectize [config]="config"></ng2-selectize>
When I give selectize an array of strings, it interprets it quite well but when I am passing it an array of OBJECT, the render is not what I expect since it only displays ONE option.
Here is my array:
    var exampleArray = [
      {name: 'A', id: 1},
      {name: 'B', id: 2},
      {name: 'C', id: 3},
      {name: 'D', id: 4},
      {name: 'E', id: 5},
      {name: 'F', id: 6},
      {name: 'G', id: 15},
      {name: 'H', id: 23},
      {name: 'I', id: 90},
    ];

My options looks like :
this.options = [];
for (var i = 0; i < exampleArray.length;  i++) {
    this.options.push({value: exampleArray[i]});
}

And my configuration looks like this :
    this.config = {
        labelField: 'label',
        valueField: 'value',
        highlight: false,
        create:false,
        persist:true,
        plugins: ['dropdown_direction', 'remove_button'],
        dropdownDirection: 'down',
        maxItems: 5,
        options: this.options,
        render: {
          item: (data) => {
            console.log('selecting item', data);
          },
          option: (data) => {
            console.log('instantiating option', data);
          }
        },
      };

Actually, the function render.option is only called ONCE (which explains why it only displays one option) but I don't know why since my array length is equal to 9.
Can someone enlighten me please ? Thank you.
BONUS question : is it possible to extract raw data when an option is selected or removed ? By raw data I mean object, because selectize only seems to return strings which I find quite unfortunate...

Hi @NkxPanda , instead of passing your options through [config], try using the [options] input. Reason for this is the difficulty detecting changes to options passed in through the config... whereas [options] would be reactive to change.
I'm not sure about returning the entire object rather then just the value.. if you needed to you could always set the value field as a unique key in your list of objects and on selection look through your options for that key.. but yeah, not sure about an easier way.. sorry.


Vimeo Pro - 1920 Pixel Video not downloadable

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2022.11.11 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
Germany
Provide a description that is worded well enough to be understood
Hello,
Site: https://vimeopro.com/cadfem/simulation-conference-mechanische-systeme-in-perfektion
Password: Conference2022
"Original Media Link":
https://11vod-adaptive.akamaized.net/exp=1668900760~acl=%2F92554567-2f1f-4673-8169-5f7c39af9df2%2F*~hmac=a78f89f321cb5ab802b5e262bf1a7b8f996988ff8df88aa8b9cc03aa6c6d6b53/92554567-2f1f-4673-8169-5f7c39af9df2/sep/video/e22e0b59,d3d2c0c8,7acab0de,ba502be5,0f745f59/audio/7cc595f1,8de9c6ad,a22024ff/master.json?query_string_ranges=1&base64_init=1
I was able to "decipher" what is what. So the "base" would be:
https://11vod-adaptive.akamaized.net/exp=1668900760~acl=%2F92554567-2f1f-4673-8169-5f7c39af9df2%2F*~hmac=a78f89f321cb5ab802b5e262bf1a7b8f996988ff8df88aa8b9cc03aa6c6d6b53/92554567-2f1f-4673-8169-5f7c39af9df2/parcel/
and following extensions apply:
AUDIO
audio/a22024ff.mp4 63,6 kb/s
audio/8de9c6ad.mp4 95,1 kb/s
audio/7cc595f1.mp4 192 kb/s
VIDEO
video/e22e0b59.mp4 960 Pixel
video/d3d2c0c8.mp4 426 Pixel
video/7acab0de.mp4 640 Pixel
video/ba502be5.mp4 NOT WORKING
video/0f745f59.mp4 1280 Pixel
My problem is "video/ba502be5.mp4", which would certainly be the 1920 Pixel Video.
How can I get it?
I can download all other files just fine!
Thank you & best wishes! : )
Provide verbose output that clearly demonstrates the problem

[x] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
>yt-dlp.exe -vU  --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36" --video-password Conference2022 --referer "https://vimeopro.com/cadfem/simulation-conference-mechanische-systeme-in-perfektion" --add-header "Origin: https://player.vimeo.com" --cookies-from-browser chrome "https://11vod-adaptive.akamaized.net/exp=1668900760~acl=%2F92554567-2f1f-4673-8169-5f7c39af9df2%2F%2A~hmac=a78f89f321cb5ab802b5e262bf1a7b8f996988ff8df88aa8b9cc03aa6c6d6b53/92554567-2f1f-4673-8169-5f7c39af9df2/parcel/video/ba502be5.mp4"
[debug] Command-line config: ['-vU', '--user-agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36', '--video-password', 'PRIVATE', '--referer', 'https://vimeopro.com/cadfem/simulation-conference-mechanische-systeme-in-perfektion', '--add-header', 'Origin: https://player.vimeo.com', '--cookies-from-browser', 'chrome', 'https://11vod-adaptive.akamaized.net/exp=1668900760~acl=%2F92554567-2f1f-4673-8169-5f7c39af9df2%2F%2A~hmac=a78f89f321cb5ab802b5e262bf1a7b8f996988ff8df88aa8b9cc03aa6c6d6b53/92554567-2f1f-4673-8169-5f7c39af9df2/parcel/video/ba502be5.mp4']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.11.11 [8b64402] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.22621-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: ffmpeg 2022-11-03-git-5ccd4d3060-full_build-www.gyan.dev (setts), ffprobe 2022-11-03-git-5ccd4d3060-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.09.24, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4
[Cookies] Extracting cookies from chrome
[debug] Extracting cookies from: "C:\Users\XXX\AppData\Local\Google\Chrome\User Data\Default\Network\Cookies"
[debug] Found local state file at "C:\Users\XXX\AppData\Local\Google\Chrome\User Data\Local State"
[Cookies] Extracted 725 cookies from chrome
[debug] cookie version breakdown: {'v10': 725, 'other': 0, 'unencrypted': 0}
[debug] Proxy map: {}
[debug] Loaded 1723 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.11.11, Current version: 2022.11.11
yt-dlp is up to date (2022.11.11)
[debug] [generic] Extracting URL: https://11vod-adaptive.akamaized.net/exp=1668900760~acl=%2F92554567-2f1f-4673-8169-5f7c39af9df2%2F%2A~hmac=a78f89f321cb5ab802b5e262bf1a7b8f996988ff8df88aa8b9cc03aa6c6d6b53/92554567-2f1f-4673-8169-5f7c39af9df2/parcel/video/ba502be5.mp4
[generic] ba502be5: Downloading webpage
ERROR: [generic] Unable to download webpage: HTTP Error 403: Forbidden (caused by <HTTPError 403: 'Forbidden'>); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "yt_dlp\extractor\common.py", line 674, in extract
  File "yt_dlp\extractor\generic.py", line 2582, in _real_extract
  File "yt_dlp\extractor\common.py", line 825, in _request_webpage

  File "yt_dlp\extractor\common.py", line 807, in _request_webpage
  File "yt_dlp\YoutubeDL.py", line 3692, in urlopen
  File "urllib\request.py", line 531, in open
  File "urllib\request.py", line 640, in http_response
  File "urllib\request.py", line 569, in error
  File "urllib\request.py", line 502, in _call_chain
  File "urllib\request.py", line 649, in http_error_default
urllib.error.HTTPError: HTTP Error 403: Forbidden

You want to view the source of the webpage that the player is embedded in, get the full player URL with all query params, pass that as the URL and pass the original webpage URL as the referer:
yt-dlp "https://player.vimeo.com/video/764543723?h=f4a7f509ff&portfolio_id=1612641" --referer "https://vimeopro.com/cadfem/simulation-conference-mechanische-systeme-in-perfektion"

Thanks a lot!

@bashonly
Out of interest: Why does my way not work? Why do all other mentioned media files work, but not that specific one?

@bashonly Out of interest: Why does my way not work? Why do all other mentioned media files work, but not that specific one?

not sure exactly why that particular mp4 link doesn't work. yt-dlp is able to get the 1920x1080 formats via the DASH manifests instead.
I am keeping this issue open as a site-bug, since I believe this type of vimeopro.com URL should be supported without having to use the workaround I posted earlier

@bashonly
Did you know, that you can extract the link from the console:
https://player.vimeo.com/video/764543723?h=f4a7f509ff&portfolio_id=1612641
and re-write it to:
https://vimeo.com/764543723/f4a7f509ff
So neither password nor --referrer are necessary.
Is this helpful in anyway for the code?


Compatible with WYSIWYG?

Wondering if this is compatible with something like TinyMCE or Froala editor? Mainly Froala.

It doesn't work with TinyMCE, unfortunately. #40


deploy two distinct Dymension Hub validator nodes running on AWS

export SERVER1=ec2-18-202-218-150.eu-west-1.compute.amazonaws.com
export SERVER2=ec2-34-255-11-227.eu-west-1.compute.amazonaws.com


How to use str(cython.char *) in pure python mode?

I want to use cython.char * type pure python's str ,how to use it ?(pep484)

Support questions can be asked on the cython-users mailing list. The bug tracker is for bugs and feature requests.

https://cython.readthedocs.io/en/latest/src/tutorial/pure.html#c-types
cython.pointer(cython.char) or cython.p_char
On 17/07/2020 02:44, Salent Olivick wrote:

I want to use cython.char * type pure python's str ,how to use it
?(pep484)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cython/cython/issues/3742, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACQMP46TEFNRVGNQURQ22ZTR36UGLANCNFSM4O5JMYKA.


composer update command doesn't work

when I add "ijackua/yii2-sharelinks-widget": "dev-master"  to composer.json and execute composer update an error occurs, but when I use "composer require ijackua/yii2-sharelinks-widget" the problem is that widget doesn't work. Can you be more specific in the example, please?

strange, can't reproduce it
but please try this one
    "require": {
...
        "ijackua/yii2-sharelinks-widget": "1.0.*",
....

that line is created when I use composer require and it works, but I don't know how use the widget, I try with the example code but nothing.

ok, I see
it looks like you are not using echo before the widget, I have update doc a little
try the simplest one include way (with explicit echo)
<?php echo \ijackua\sharelinks\ShareLinks::widget(); ?>

if it works, then see the README on how to modify buttons appearance with custom view

When I try to put the code say this:
Unknown Method – yii\base\UnknownMethodException
Calling unknown method: app\controllers\SiteController::shareUrl()
this is my view

....

', $this->context->shareUrl(ShareLinks::SOCIAL_FACEBOOK),
        ['title' => 'Share to Facebook']) ?>
    ', $this->context->shareUrl(ShareLinks::SOCIAL_TWITTER),
        ['title' => 'Share to Twitter']) ?>
    ', $this->context->shareUrl(ShareLinks::SOCIAL_LINKEDIN),
        ['title' => 'Share to LinkedIn']) ?>
    ', $this->context->shareUrl(ShareLinks::SOCIAL_GPLUS),
        ['title' => 'Share to Google Plus']) ?>
    ', $this->context->shareUrl(ShareLinks::SOCIAL_VKONTAKTE),
        ['title' => 'Share to Vkontakte']) ?>
    ', $this->context->shareUrl(ShareLinks::SOCIAL_KINDLE),
        ['title' => 'Send to Kindle']) ?>

Ah... you can't simply use $this->context->shareUrl calls in your action views.
Calling unknown method: app\controllers\SiteController::shareUrl() means that $this->context is a Controller and view render called from a controller.
You must render $this->context->shareUrl calls in a context of Widget.
Look at example one more time
<?php echo \ijackua\sharelinks\ShareLinks::widget(
    [
        'viewName' =><EMAIL_ADDRESS>    ]
); ?>

$this->context->shareUrl call will work ONLY inside @app/views/mypath/shareLinks.php view file - as shareUrl is a ShareLinks widget's function, and view render should be called from Widget.
It is how Widgets works in Yii2.

thank you for your support, now I understand. I thought I should use one of the two, not both (view and widget). It's working now. Only one more thing, please, how can I add fontello icon to my project?

Great.

how can I add fontello icon to my project?

Generate custom font on http://fontello.com/ and add it to html according to instruction
But maybe Font-Awesome would be easier to use for you, instruction , but don't forget to change html for icons <i class="icon-facebook-squared"></i> on those that is provided by Font-Awesome


feat(config): allow auth host list instead of single domain

Please also update README to include example of usage for --auth-hosts as well as $AUTH_HOSTS
Maybe add unit tests for deserialization of $AUTH_HOSTS? You added tests for the cli flag (--auth-host)


Fix for #2 : Added uninstallation steps

WireGuard can be uninstalled by running
sudo bash wireguard-install.sh uninstall
Changes:

Encapsulated Check OS commands under function 'checkOS'
Added uninstallation steps, under 'uninstall' function

if $1 is "uninstall" --> Check if /etc/wireguard exist --> if yes proceed with uninstallation or else print wireGuard not installed.

Get WireGuard interface name from user: wg0
Stop WireGuard Interface.
checkOS
Remove wireguard tool and qrencode.
Delete directory /etc/wireguard
Delete file /etc/sysctl.d/wg.conf if exist
Configure system parameters. sysctl --system
Stop wireguard service and disable it.
Delete wireguard interface
Check if wg service is stopped.
Exit

Tested on:

[x] Ubuntu 18.04
[x] CentOS 8.1
[x] Fedora 32
[x] Arch Linux 2020.06.01

Fixes #2 (github didn't link the issue)


Non-Responsive Next Button for Up Next at docs/tools in overview page

Up Next button is not responsive at specified url
Steps to reproduce the issue.

Visit this url https://www.asyncapi.com/docs/tools
Move down to bottom and the UP NEXT button is not responsive

Screenshots

Link to GitHub repository https://github.com/asyncapi/website

Expected behavior
It is Expected to be responsive and of same size as the GO BACK button.

@sambhavgupta0705 I already fixed this Issue should I add my pull request?

@sambhavgupta0705 I had linked a Pull Request Regarding this Issue #2447 . Please check it out.

@derberg @akshatnema  Please review my pull request linked with this issue.


Add API for getting library version

see: https://github.com/PAIR-code/deeplearnjs/issues/211
Usage
import {version} from 'deeplearn';

console.log(version);

This change is

Thank you!!

Review status: 0 of 2 files reviewed at latest revision, 2 unresolved discussions.

src/version_test.ts, line 20 at r1 (raw file):

import {version} from './index';

describe('check', () => {

can you call this "version" in the describe

src/version_test.ts, line 22 at r1 (raw file):

describe('check', () => {
  it('version is contained', () => {
  // tslint:disable-next-line:no-require-imports

indent this 2 more

Comments from Reviewable

Great! Can you check if the version is available when you produce a standalone bundle, by running ./scripts/build-standalone.sh and importing it via a script tag in a simple html page?

The version could be read as expected.

deeplearnjs version:

Review status: 0 of 2 files reviewed at latest revision, 2 unresolved discussions, some commit checks failed.

Comments from Reviewable

Update the branch and I will merge this in!


Generate fullfield products

We continue to have problems with the fullfield pipeline.  This is a best-effort task to generate as many fullfield products as possible along with trait data.

Implement additional logging in rule-checker and field-mosaic
Generate remaining full-fields (brute force kick-off)
Evaluate status of existing files (remove pre-break files)
Troubleshooting/diagnosis of fullfield and trait generation processes

we currently have around half of the full-field products generated. this is main issue following #393

stereo rgb, flir IR have completed generation @ 80% threshold and need to be evaluted for exhaustiveness.
Remaining full field (laser 3D heightmap stitch) on hold pending fix of the heightmap PLY -> BMP conversion #417

should queue up remaining files that were skipped due to fullfield eligibility, but not for this data release.
how many of these fullfields were skipped given the scan program name? go through scan program names, dates, metadata and the rulechecker DB and determine what is EXPECTED BUT MISSING.

On terra-clowder from @max-zilla  a dump of the rulemonitor db with all the unique FF scans we have and their counts as of friday 3/16 /home/mburnet2/scans.csv.

Identified problem with fullfield process due to bin2tif (and likely ir) posting metadata after the files are uploaded.  Tentative fix for this in bin2tif is providing more complete, though incomplete still, fullfields.  First image generated using this method is 2/7/2018.

Rulechecker is a switchboard for many extractors and triggers from a file being added to a dataset. Several of our extractors upload files before attaching metadata, so rulechecker would trigger before metadata was uploaded and respond by saying md is missing. If md is added as a final step consistently we could trigger on that, but not every extractor uploads metadata. I briefly discussed with Craig whether we just rework things for extractors to manually trigger downstream extractors explicitly without using rulechecker or a dataset file added/metadata added listener.

Update - RGB fullfields are (generally) being generated for the new season starting 5/1. We are missing fullfields for 5/13 and 5/14, likely due to connection error in globus-monitor (need to monitor this component).  We are also missing fullfields for 5/2 and 5/4, likely due to other pipeline failures.
After manually triggering, there is an entry in the fullfield extractor log for 5/2:
2018-05-14 19:38:21,572 INFO    : extractor - [5aece09d4f0c026b45768bab] RGB GeoTIFFs - 2018-05-02__09-56-56-643 - SKIP: /home/extractor/sites/ua-mac/Level_1/fullfield/2018-05-02/fullfield_L1_ua-mac_2018-05-02_rgb_stereovis_ir_sensors_fullfield_sorghum6_shade_may2018.vrt already exists; ending process

So the VRT already exists but the TIF hasn't been generated.
In the case of 5/4, we have over 99% coverage in rgb-geotiff, but rulechecker reports otherwise:
2018-05-14 18:58:51,541 INFO    : extractor - [5af020434f0c026b4591c975] RGB GeoTIFFs - 2018-05-04__09-50-20-762 - found 5978/9284 (64.39%) necessary geotiffs (184 in this scan)
2018-05-14 18:58:51,541 INFO    : extractor - [5af020434f0c026b4591c975] RGB GeoTIFFs - 2018-05-04__09-50-20-762 - SKIP: 80 tolerance percentage not met for fullfield.

We've determined that this is likely caused by the somewhat rare case that files in a dataset are split across two transfers this is now tracked in https://github.com/terraref/computing-pipeline/issues/446

I just deployed new fullfield with higher threshold. Once we see those, we can close this.
https://github.com/terraref/computing-pipeline/issues/447

We are missing fullfields for 5/7, 5/25, and 5/26.  I've resubmitted all stereotop  datasets to rule checker for these dates and we have near complete coverage on filesystem (rgb_geotiff) but the counts in rulemonitor do  not match.  See https://docs.google.com/spreadsheets/d/1emUW6xu9i0zMh1jUupgqPmIIz_IVjDv-DZWEKbZNCz8/.

Causes identified were related to outages -- zero byte files on disk. Created new issue.
https://github.com/terraref/computing-pipeline/issues/469


Error when adding via HACS

Awesome that you made this component! Unfortunately I encountered an error when adding it to Home Assistant:
custom_components.mypyllant
Deze fout is ontstaan door een aangepaste integratie.

Logger: custom_components.mypyllant
Source: deps/lib/python3.10/site-packages/myPyllant/models.py:114
Integration: myVAILLANT (documentation, issues)
First occurred: 23:03:40 (2 occurrences)
Last logged: 23:03:40

Unexpected error fetching myVAILLANT data: 1 validation error for Zone humidity field required (type=value_error.missing)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 239, in _async_refresh
    self.data = await self._async_update_data()
  File "/config/custom_components/mypyllant/__init__.py", line 114, in _async_update_data
    data = [
  File "/config/custom_components/mypyllant/__init__.py", line 114, in <listcomp>
    data = [
  File "/config/deps/lib/python3.10/site-packages/myPyllant/api.py", line 199, in get_systems
    system = System(
  File "/config/deps/lib/python3.10/site-packages/myPyllant/models.py", line 114, in __init__
    self.zones = [Zone(system_id=self.id, **z) for z in self._raw_zones]
  File "/config/deps/lib/python3.10/site-packages/myPyllant/models.py", line 114, in <listcomp>
    self.zones = [Zone(system_id=self.id, **z) for z in self._raw_zones]
  File "pydantic/main.py", line 342, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 1 validation error for Zone
humidity
  field required (type=value_error.missing)

Using the component with a VR921. Thanks!

Thanks for reporting, try out https://github.com/signalkraft/mypyllant-component/releases/tag/v0.0.12 - I made the missing field optional.
This sort of problem will probably pop up a few more times while you're setting up this component, because I had no way of testing which data the myVAILLANT API returns for different installations. Please turn on debug logging for this integration if you encounter another problem and add it to this issue.

@erikvtv I created a new release that may fix your problem.
This sort of problem will probably pop up a few more times while you're setting up this component, because I had no way of testing which data the myVAILLANT API returns for different installations. Please turn on debug logging for this integration if you encounter another problem and add it to this issue.

Hi Signalkraft,
thx v0.018 is fixing the problem

@erikvtv glad to hear that!


Build not working

After cloning and npm install I get the following on Android.
Invariant Violation. Application App has not been registered. This is either due to a require() error during initialization or failure to call AppRegistry.registerComponent

Have you tried running on a device?
On Mon, Dec 28, 2015 at 9:16 AM Zeeshan Aziz<EMAIL_ADDRESS>wrote:

After cloning and npm install I get the following on Android.
Invariant Violation. Application App has not been registered. This is
either due to a require() error during initialization or failure to call
AppRegistry.registerComponent
—
Reply to this email directly or view it on GitHub
https://github.com/jhabdas/react-native-webpack-starter-kit/issues/33.

https://github.com/jhabdas/react-native-webpack-starter-kit/issues/30

yes, running on device

also tried replacing content of src/main.android.js with the default index.android.js content but still get the same error

sorry. changed port from 8081 to 8080 and now it works

@Hyperonic where did you change the port ? and did you get it to work on emulator ? i am having the same issue here

@Hyperonic where did you change the port ? and did you get it to work on emulator ? i am having the same issue here

@mohamedpsx inside app open Dev Settings then open the very last item. enter your connected working machine(laptop) ip address followed by colon and port 8081. then reload js

@Hyperonic Thank you :D it is working now, and seems that the issue is within react native it self, did you write an issue there ?

Would love to hear feedback on the usefulness/discoverability of the following npm run script:
https://github.com/jhabdas/react-native-webpack-starter-kit/blob/f07854b2f75f0ae6aed2b8297a983a55e6d91ed0/package.json#L8

same error running with or without that npm run script, but i run react-native android as in the official doc instead of react-native run-android and it works out of the box no need for the android-setup-port, i think it runs a reverse connection by default when running react-native android.
I am no android expert, but this is what i tried and it seems to work, we can investigate more if you want

:+1:


Custom ships per level

Ability to have custom ships per level, this will allow more elaborate background. It will also require us to have the ability to have different colours for bullets, debris and exploded sprite.

Will pick this up when sorting issue #16

Completed, code will need to be changed when new ships per level are added but the new level asset structure supports it a lot better now.


Parsing error on package names with `` characters. Priority: Low

Note: code exists in createIdentifier to unwrap `` characters, but it may be simpler to use the PSI nodes instead.
Also, check PSI utils since there should be a method that checks for quoted symbols.
    @Test
    void quotedIdentifier() {
        rewriteRun(
          kotlin(
            """
              package testData.`object`
              """
          )
        );
    }

For quoted identifiers we should probably consider introducing a Quoted marker rather than adding the quotes directly to the identifier.

See also #296.


343 - integrate move page functionality

What is the context of this PR?
This PR integrates the move page functionality provided by API with the MovePageModal components etc.
Adds e2e test for the above.
How to review
Code looks good, tests pass, works as expected when testing through the UI
Dependent on https://github.com/ONSdigital/eq-author-api/pull/68 being merged first

 Re-order(move) pages (UI) (5)

@samiwel rebased and squashed some of the commits. I'm not sure it's worth squashing further.


Date() should return a string, not an object, in Lolex v4.1.0

Hey,
I believe Lolex deviates from the JavaScript standard behavior with regards to what Date() returns. I noticed this through a bug in my code that passed all tests, yet failed in production: I was creating a new date without new — Date(2015, 5, 18). In tests, that was equivalent to new Date(..), but without mocking, it returns the current time as a string — an entirely different result. It seems to be an issue already since the times of Sinon v1.17.7 and possibly earlier. Here's an example from RunKit https://runkit.com/embed/delfomea61tm with Lolex v4.1.
require("lolex").install()
Date(2015, 5, 18) // => Thu Jun 18 2015 00:00:00 GMT+0000 (Coordinated Universal Time)

Verified! The standard is strange :)

I think the stale bot is too eager here.


PushNotificationIOS.requestPermissions won't resolve if no event listeners are attached

This issue was originally created by @frantic as facebook/react-native#13012.

Description
RCTPushNotificationManager uses startObserving to register for RCTRegisterUserNotificationSettings. According to the docs, the startObserving method won't be called until somebody subscribes to NotificationManagerIOS.
This means there is a scenario when the developer can call requestPermissions without subscribing to notifications first, but since RCTPushNotificationManager relies on NSNotificationCenter subscribtion, the result will never be returned.
This should be fairly straightforward to solve for somebody new to React Native. Feel free to send a PR!
Reproduction
Have this in your JS file
PushNotificationIOS.requestPermissions().then(console.log);

You'll see iOS permissions dialog, however pressing "Allow" won't resolve the promise and nothing will be printed to the console.
Solution
Change the code to this, then uninstall and run the app again (needed to reset iOS permissions cache):
PushNotificationIOS.addEventListener('localNotification', () => {});
PushNotificationIOS.requestPermissions().then(console.log);

Now "Allow" button will work as expected, the promise will be resolved and you'll see log entry.
Additional Information

React Native version: 0.42.0
Platform: iOS
Operating System: macOS

Still having issue with this and the above solution doesn't seem to work for me. Any updates on this?

PushNotificationIOS.requestPermissions() resolves with {"alert": 0, "badge": 0, "sound": 0} with no dialog. How can I show permission dialog?

Yes, same here. ^^

PushNotificationIOS.requestPermissions() resolves with {"alert": 0, "badge": 0, "sound": 0} with no dialog. How can I show permission dialog

Same probem here, the requestPermissions method resolve with all permissions equal to false and not showing any dialog. Does anyone was able to solve this?

Same error for me but got cleared once you create PushNotification.createChannel(),  and add it into your PushNotification.localNotification({channelId: "your_code"}).
I dont know if it reslove your error for you guys , but got me cleared. Hope it will help you..


outdated list of actions?

When listing actions for the Microsoft.DocumentDB provider, I get a different list than exposed on this page. In particular:

there seem to be no Data Action for this provider
the "Microsoft.DocumentDB/databaseAccounts/readMetadata" is not found
the "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery" is not found
"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items" is not found

My sources are

Azure portal -> create new role from scratch -> add permissions -> explore the actions and (non-existent) data actions of the DocumentDB provider.
https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftdocumentdb

As a result, can you please update the list of permissions to grant for a read-only & a read-rite role on CosmosDB?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: aba612b3-f404-11b2-45d9-6e10f1fbf11d
Version Independent ID: 86ccb46e-5ebd-50a4-a911-2ac83c8a41f4
Content: Configure role-based access control for your Azure Cosmos DB account with Azure AD
Content Source: articles/cosmos-db/how-to-setup-rbac.md
Service: cosmos-db
GitHub Login: @ThomasWeiss
Microsoft Alias: thweiss

After further investigation, I understand that the permission model for CosmosDB is similar to the Azure RBAC one, but does not rely on the Azure provider permissions. Is that correct?

@mikemowgli The Cosmos DB data plane RBAC described on this page is different and independent from Azure RBAC, so for now you won't find these actions in Azure RBAC. Role management has to be done against your Cosmos DB account directly.


update README.md

doc: add examples for each package in the README.md

doc: add examples for each package in the README.md

doc: add examples for each package in the README.md

doc: add examples for each package in the README.md


[iOS] Specific Action when app opened by clicking on push

Hi,
as I'm using GCM to send push notifications to iOS, action buttons are not supported, so I'm trying to get my app to execute some function when it is opened by clicking on notification.
How can I do this?
I've read that I could do it on the success callback of the on('notification' event but it won't work.
If I put some code to execute on that callback and receive a push:

--- a. If I click on push notification, my code will execute twice

--- a. I open the app by click on app icon (code is executed once).
--- b. after close the app, I click on push. code is executed once again.
Is there any solution?
iOS 9 and phonegapBuild

@ahlidap so you want to know if the app was started by a push notification? Duplicate of #501.

why not just add an implementation for
if(notification.wasTapped){
    //run code here
}


The sources of encoder was still updated before compiling

Fot example, i want to test the latest source git of AVIF encoder. Do the squoosh script do that when i rebuilt squoosh project?

No. The build file is at https://github.com/GoogleChromeLabs/squoosh/blob/dev/codecs/avif/Makefile#L1. Note that you need both AVIF and AOM.
Last time I tried to update AOM to a later git commit, the quality was pretty broken.
Good luck!

is it easy to have a branch that get the latests commit from encoder to compile it and test it?

For AVIF, all you need to do is change the commit hash in the line that @jakearchibald linked to.
All other codecs follow a similar pattern.

thanks :-) I will try now

Following the recommendations of @jakearchibald , i do theses updates in the makefile (on local):
# CODEC_URL = https://github.com/AOMediaCodec/libavif/archive/31d7c6d1e32cf467ac24fb8c7a76c4902a4c00db.tar.gz
CODEC_URL = https://github.com/AOMediaCodec/libavif/archive/e937c5b9a42f3c238c8934e6e1b1df7b9369003c.tar.gz
CODEC_PACKAGE = node_modules/libavif.tar.gz

# LIBAOM_URL = https://aomedia.googlesource.com/aom/+archive/v2.0.0.tar.gz
LIBAOM_URL = https://aomedia.googlesource.com/aom/+archive/refs/heads/master.tar.gz

Doing that I try to synchronize both sources with git masters
Is it right?
Another question: where can i found the libavif dll and the aomenc.exe used by the local server?

Is it right?

Yes, now you only need to run npm run build in the codec folder (make sure you have Docker set up).

Another question: where can i found the libavif dll and the aomenc.exe used by the local server?

All image compression happens in the browser. The site is fully static and has no server components.


[DO NOT MERGE] SEO edits for financial services secure collab

Edited title to shorten below 65 characters. Tried to keep the most important information.
Edited the description to shorten and add keywords.
Edited image alt tags to add value with SEO keywords.
@DaniHalfin

@DaniHalfin @BrendaCarter review please

Looks great! Go ahead and merge.


Remove max character limit from fields in business bank account / Wallet upgrade flows

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Create workspace
Go to Connect bank account
Enter routing/account number and continue
Land on Company information

Expected Result:
Fields would have a max character limit, but it wouldn't need to be shown in the frontend.
Actual Result:
Character limits are shown in the front end in a way that suggests the entried must be this long (i.e. a phone number must be 15 characters)
Platform:

Web
iOS
Android
Desktop App
Mobile Web

Version Number:
Reproducible in staging?: Yes
Reproducible in production?:  Yes
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:

Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1646441755608789
View all open jobs on GitHub

Triggered auto assignment to @isabelastisser (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

And don’t forget to synchronize your wallet

Triggered auto assignment to @mountiny (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

@kevinksullivan Just to confirm on this one, it is purely UI change, the background checks work fine and if the wrong format is added proper error is shown to the user?
We would just want to remove the length indicators? In that case it will be External.

That's correct @mountiny . I was thinking this would go External as well.

Triggered auto assignment to @mallenexpensify (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

Proposal
We need to remove the code from line 282 to 301 (need to do some cleanup too)
https://github.com/Expensify/App/blob/7fcec4ce3abaa091baf674a9aeb84f41d79f4b35/src/components/TextInput/BaseTextInput.js#L282-L303
and we need to add this instead -
{!_.isEmpty(this.props.errorText) && (
                        <InlineErrorText styles={[styles.ph3]}>
                            {this.props.errorText}
                        </InlineErrorText>
                    )}

and inside InlineErrorText we need to pass the props.styles in styles of Text on line 22
https://github.com/Expensify/App/blob/9c534aaeb47c89c05f1ce84cb692bf099865f05c/src/components/InlineErrorText.js#L16-L23
adding padding because we want the error text to be left aligned with the input label ( we can skip this if we also wanna keep the error text like it was previously)
If we don't wanna show the character limit only in some inputs then instead of removing the whole character limit logic we can just pass a prop so that it will only show the character limit when it's true.

Proposal
We recently added character count feature. I think, we should pass one more props to handle this case eg. showCharacterCount and based on this props we will conditionally render the character count component. We can now pass showCharacterCount={false} to all input component where we want to hide this count.
diff --git a/src/components/TextInput/BaseTextInput.js b/src/components/TextInput/BaseTextInput.js
index 283bfa5a9..e261a74c6 100644
--- a/src/components/TextInput/BaseTextInput.js
+++ b/src/components/TextInput/BaseTextInput.js
@@ -279,7 +279,7 @@ class BaseTextInput extends Component {
                             </View>
                         </TouchableWithoutFeedback>
                     </View>
-                    {(!_.isEmpty(inputHelpText) || !_.isNull(this.props.maxLength)) && (
+                    {(!_.isEmpty(inputHelpText) || this.props.showCharacterCount) && (
                         <View
                             style={[
                                 styles.mt1,
@@ -291,7 +291,7 @@ class BaseTextInput extends Component {
                             {!_.isEmpty(inputHelpText) && (
                                 <Text style={[formHelpStyles]}>{inputHelpText}</Text>
                             )}
-                            {!_.isNull(this.props.maxLength) && (
+                            {this.props.showCharacterCount && (
                                 <Text style={[formHelpStyles, styles.flex1, styles.textAlignRight]}>
                                     {this.value.length}
                                     /
diff --git a/src/components/TextInput/baseTextInputPropTypes.js b/src/components/TextInput/baseTextInputPropTypes.js
index e6a612d73..e0aaa8a02 100644
--- a/src/components/TextInput/baseTextInputPropTypes.js
+++ b/src/components/TextInput/baseTextInputPropTypes.js
@@ -50,6 +50,9 @@ const propTypes = {
     /** Maximum characters allowed */
     maxLength: PropTypes.number,

+    /** Should show character count */
+    showCharacterCount: PropTypes.bool,
+
     /** Hint text to display below the TextInput */
     hint: PropTypes.string,

@@ -101,6 +104,7 @@ const defaultProps = {
     innerRef: () => {},
     shouldSaveDraft: false,
     maxLength: null,
+    showCharacterCount: true,
     hint: '',
     prefixCharacter: '',
     onInputChange: () => {},

https://github.com/Expensify/App/blob/afaccd9af40cfc2df1a6b12abd4234183975e476/src/components/TextInput/baseTextInputPropTypes.js#L50-L51
I also noticed here we are defining maxLength to PropTypes.number and defaultProp has value null
https://github.com/Expensify/App/blob/afaccd9af40cfc2df1a6b12abd4234183975e476/src/components/TextInput/baseTextInputPropTypes.js#L103

Triggered auto assignment to Contributor-plus team member for initial proposal review - @rushatgabhane (Exported)

Current assignee @mountiny is eligible for the Exported assigner, not assigning anyone new.

Posted https://www.upwork.com/jobs/~01219455343a1a0b18
@rushatgabhane can you review @Tushu17 and @mdneyazahmad 's proposals above please? Thx

Discussion regarding which / if any inputs should show the character limit in this slack 🧵

🎀 👀 🎀 C+ reviewed
@mountiny I recommend @Tushu17's proposal. Because we're in favor of not displaying the limit (slack 🧵)

@rushatgabhane Thank you very much!

📣 @Tushu17 You have been assigned to this job by @mountiny!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

@Tushu17 Feel free to raise a PR :)

Hired @Tushu17 in Upwork. @rushatgabhane , can you apply too please?
https://www.upwork.com/jobs/~01219455343a1a0b18

Done, thanks!

@rushatgabhane
I am curious to know why the following features were reverted in https://github.com/Expensify/App/pull/8145. Did we decide to remove these intentionally?

MaxLength counter feature from TextInput. It affected all inputs in the app. To me, the issue seems like hiding the counter instead removing it. And only from business bank account / Wallet upgrade flows.
Hint and Error feature from TextInput. I just don't see what this functionality has to do with this issue.

And, also, it breaks a lot of things in the app.

Textinput stories.
The above-mentioned features on the whole app.

https://github.com/Expensify/App/issues/8044#issuecomment-1063683732 proposal seems to be reverting commit https://github.com/Expensify/App/commit/7889b38f017075d6f440f13f02440da40ecae299

@parasharrajat  Thanks, those are great questions.

Did we decide to remove these intentionally?

Yes, the consensus was to remove the character limit hint everywhere in the app - slack thread.
Correct me if I'm wrong, the error feature isn't broken in the app.
The only thing that I did break is the hint prop. Thanks for pointing that out, I'll submit a PR to fix that shortly.

Yeah, Hint and Error feature is about hints. They are related. When there is an error, it should hide a hint and show an error.

Understood. Gotta fix the hint and error feature.
And when there's an error, it should hide the hint and show an error.

@rushatgabhane can you provide an update for where we are with this?

Are we using the hints currently anywhere? If not, maybe we could proceed with payment of the OG issue normally as it technically does not break anything right now, or does it? ( I was under the assumption the hints were feature which is not utilized currently)

@mountiny hmm yeah good point. Hints aren't being used anywhere (other than storybook).

Alright, I think there was some problem with this production deploy and the messages were not posted. Updated the title.

Regressions should be handled the same. Although it was not used anywhere it resulted in a broken feature. If it was not pointed out https://github.com/Expensify/App/issues/8044#issuecomment-1072781493, it shall consume more resources for the fix.
IMO, we should stick to the process in all cases.

@parasharrajat Thanks for the comment. I am not against it, I agree that sticking to the scheme will be good. I have mainly updated this because as the Github had outages last week, the deploy comments did not go through.
Updating the title and waiting for the https://github.com/Expensify/App/pull/8232 to get to production before we pay out!

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.1.49-1 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/8232

If no regressions arise, payment will be issued on 2022-04-12. :confetti_ball:


CI fails due to a deprecated option used with the poetry export command

Let's wait for the resolution of https://github.com/cjolowicz/nox-poetry/issues/977

This should be fixed in nox-poetry 1.0.3 due to be released soon:

https://github.com/cjolowicz/nox-poetry/pull/1139


Typo in docs and improvement for vue example in docs.

Hi.
I have noticed that you have an extra greater-than sign (>) in every vue example code:

https://github.com/f5/unovis/blob/9b26703f8af50fe91c0c01254c4caed133ecb083/packages/website/docs/utils/code.ts#L125
When I was trying to add a tooltip to my  chart, I couldn't find where you got StackedBar.selectors.bar from until I found on another page that you import that from @unovis/ts.
Maybe it would be great to add that to the example code?

BTW, I wanted to open a PR but CLA was to much for a small type. So my question is, do I need to sign that to remove a character from the docs?

Thanks for pointing this out @ByMykel! Unfortunately the CLA is needed to accept any outside contributions. It's a weird corporate thing we can do nothing about 😔
@zernonia Since you are the creator of the Vue integration, what do you think about re-exporting selectors along with the Vue components? We started doing it in React recently for convenience, e.g.export const VisAreaSelectors = Area.selectors

Hey @rokotyan . Yeah sure, no prob! 😁


Add dataset discoverability

Re: https://github.com/NASA-IMPACT/covid-dashboard/issues/340
One of the current drawbacks of the API is that it's not possible to see what datasets/COGs are currently available to visualize. We need to make this information discoverable from the API. Users should be able to hit the /datasets endpoint and see:

what "layers" are available (CO2, NO2, Nightlights, etc)
for each layer:

what is the tile URL (including preferred scaling, colormap, and resampling parameters)
what are the available dates
what are the available locations (if the data is global or not)
does that data have a comparison layer available
(optional) is the data available for querying via the timelapse feature

Because the root S3 bucket contains other paths and the data isn't particularly well organized, we'll likely need to hardcode some information or propose a renaming strategy on the S3 bucket (or some combination of both)
cc: @danielfdsilva @olafveerman

It is important to note that for some layers, the information (like dates) may change depending on the location.

A branch is open here which implements dynamic domain extraction by dataset and by spotlight (depending on which endpoint is hit: /dataset and /dataset/{spotlight_id} respectively.
I'm currently working on unit tests for the branch


Hud is not shown in full screen mode !

when i set   _fullScreen = YES  , the hud is not shown on a collection view, but it appears on others !
i used method line :  [KVNProgress showErrorWithStatus:@"In Progress "]

Hello @Meseery,
Can you be more clear on what you expected and what you get?
Do you use the fullscreen this way:
KVNProgressConfiguration *configuration = [KVNProgressConfiguration defaultConfiguration];
configuration.fullScreen = YES;

[KVNProgress setConfiguration:configuration];

?
Also, you say the HUD is not shown on a collection view but you are using the method showErrorWithStatus: which displays the HUD on the window not on a certain view like showErrorWithStatus:onView:

Hello @kevin-hirsch
Yes, i used the configuration above, configuration.fullscreen=YES and it doesn't work on main view which contains a collection view embedded in scroll view, I used all forms of methods and eventually it doesn't work !

You are calling the HUD inside the code of your collection view?
Are you using it on other parts of your app and do it work correctly?
So, how and where the HUD is showing? Could you provide a screenshot of your issue?

No, i called it on loading the view on fetching the data and yes, it works in other views ,it's not working in application:didFinishLaunchingWithOptions: and it's not shown !

Here're some details:

i've a UITabbarController which have 5 viewcontrollers.
The home view controller which i set by calling setSelectedIndex: method.
-This home view controller have the method showWithStatus: in its viewDidLoad method.

When loading this view controller, the HUD is not shown, however, it's been shown on other viewcontrollers !!

So calling [KVNProgress showErrorWithStatus:@"In Progress"] is not working in application:didFinishLaunchingWithOptions: method from your AppDelegate and also from the viewDidLoad of the first UIViewController contained in your UITabbarController at app launch?
I will try to reproduce it and fix it ;)

Yes, exactly ,Thanks :)


commands not working

when i set everything up i get this error
discord.ext.commands.bot: Ignoring exception in command None
so i need help plz

i cant use commands im not getting the error anymore but they dont do anything

Hi, as of two weeks ago, I'm re-writing the bot over in this branch here. The codebase is very outdated and unusable but I'm thinking maybe by the end of this week or the next, I could get it all up-to-date and ironed out. I'll update the repository accordingly once I'm finished.

When everything is updated its still using python right

Yep, still using Python.

How long will it take to get it all done

Thinking maybe by the end of this week, latest could be end of next week.

Sounds good can you reply to this when it's done and ready so i set mine up

Also is there a way to change legendary pokemon spawn rates and a way to have the bot tell you if you got a shiny

Also is there a way to change legendary pokemon spawn rates and a way to have the bot tell you if you got a shiny

For legendary spawn rates, not at the current moment but that can be an addition to think about the in future. As for getting a shiny, you can make a discord text channel called "shiny" and it'll post in there, but also as you capture pokemon - their respective shiny image should display.
Still cranking out the bot which will still take a while, but after fixing the catch command today, here's what it displays when you catch a shiny.
Catching a pokemon in regular text channel after issuing the command !catch:

In a text channel called "shiny", PokeBot gets automatically posted here (with gif image):

so in my discord if i make a channel called shiny it will automatically post in there when someone catches a shiny

please let me knowwhen its ready and also when it is ready how do i start the happy hour thing

any update?

Still going at it.

So maybe sometime this week?

Bot's now finished with the rework. There may be bugs I didn't catch as a result of the big effort in re-implementing everything, but post any new issues you find out. Please also read the README.md file here on the bot status and for instructions. I've also updated the wiki to reflect the new changes as well.


[New Internship/Hackathon]: Adding new Page for Hackerthon with some of the best Hackerthon as well

Is there an existing issue for this?

[X] I have searched the existing issues

Description
It will be good if we make another page for hackerthon as it is for internships so , that if someone wants to search for hackerthon than it will be easily searched
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

hello @HimanshuNarware
can you please assign me this issue?


npm prune step does not remove devDependencies

I tried to deploy a basic node.js app that has devDependencies.
It has a build step, so I included the gcp-build script in package.json file.
When I checked the build log, the npm prune step got executed, but it appears that it did not remove any of the devDependencies.
I've verified this by comparing the build image size of a build that has devDependencies vs no devDependencies. Both have identical image size.
I've also compared running the npm prune in my localhost with NODE_ENV=production npm prune and the log output is different (about half no of packages reported in my localhost).

Thanks for reporting this @steverandy. Could you tell me more about how you were building the app when the when the dev dependencies were not pruned? Were you deploying to App Engine or Google Cloud Functions? My first thought is that the NODE_ENV is not being set correctly, but I will need to understand more about how to repro this in order to chase it down.

Deploying to Cloud Run. I will try to deploy a demo app and share the log with you.
If user does not set any NODE_ENV, is it correct to assume that buildpacks will prune the devDependencies (if any)?

Any news on this one?
I have the same issue using gcloud app deploy app.yaml. No matter if I set env variable NODE_ENV: production or not, when gcp-build command (compiling TypeScript to JavaScript) has been executed, it is followed by npm prune which installs both dependencies and devDependencies (Cloud Build logs). And according to this doc:

"After executing your custom build step, App Engine removes and regenerates the node_modules folder by only installing the production dependencies declared in the dependencies field of your package.json file.".

According to the npm docs, it seems we are doing the right thing:

If the --production flag is specified or the NODE_ENV environment variable is set to production, this command will remove the packages specified in your devDependencies

Here is where the buildpacks are running npm prune. Interestingly the shouldPrune function in that file emits logging if it will skip this step. Are you folks seeing any logging about "Retaining devDependencies")?

@matthewrobertson There is only Step #2 - "build": Running "npm prune" log, no "Retaining devDependencies because..." log.
I am not a Go engineer, but shouldn't gcp.WithEnv("NODE_ENV="+nodeEnv) be placed here?

It's probably the case that we set the nodeEnv to development here which causes NODE_ENV=development to be set in the gcp.WithEnv function e.g. here

Should be fixed now. 4a5e4e0


Add circle yml

Work in progress to validate docs

Codecov Report
Patch and project coverage have no change.

Comparison is base (2a2c6ce) 86.78% compared to head (5397504) 86.78%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #12   +/-   ##
=======================================
  Coverage   86.78%   86.78%
=======================================
  Files          21       21
  Lines        1680     1680
=======================================
  Hits         1458     1458
  Misses        222      222

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


kubectl v1.19 return not sorted results

I think this is not correct behaviour of kubectl get pods in microk8s v1.19
v1.18
sudo snap remove --purge microk8s
sudo rm -rf /var/snap/microk8s
sudo snap install microk8s --classic --channel=1.18/stable
sudo snap alias microk8s.kubectl kubectl
sudo microk8s.enable dns registry metrics-server

kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.16", GitCommit:"7a98bb2b7c9112935387825f2fce1b7d40b76236", GitTreeState:"clean", BuildDate:"2021-02-17T12:01:24Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.16", GitCommit:"7a98bb2b7c9112935387825f2fce1b7d40b76236", GitTreeState:"clean", BuildDate:"2021-02-17T11:52:32Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

kubectl -n kube-system get pods
NAME                                    READY   STATUS    RESTARTS   AGE
coredns-588fd544bf-vpncf                1/1     Running   0          13s
hostpath-provisioner-75fdc8fccd-gvgsd   1/1     Running   0          13s
metrics-server-v0.2.1-95c9bd697-7cjc9   2/2     Running   0          13s

results sorted by pod name as expected
v1.19
sudo snap remove --purge microk8s
sudo rm -rf /var/snap/microk8s
sudo snap install microk8s --classic --channel=1.19/stable
sudo snap alias microk8s.kubectl kubectl
sudo microk8s.enable dns registry metrics-server

kubectl version
Client Version: version.Info{Major:"1", Minor:"19+", GitVersion:"v1.19.8-34+811e9feeade1d3", GitCommit:"811e9feeade1d33bd44d74af7af4b60cd1eed75a", GitTreeState:"clean", BuildDate:"2021-02-19T18:12:34Z", GoVersion:"go1.15.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"19+", GitVersion:"v1.19.8-34+811e9feeade1d3", GitCommit:"811e9feeade1d33bd44d74af7af4b60cd1eed75a", GitTreeState:"clean", BuildDate:"2021-02-19T18:15:16Z", GoVersion:"go1.15.8", Compiler:"gc", Platform:"linux/amd64"}

kubectl -n kube-system get pods
NAME                                      READY   STATUS    RESTARTS   AGE
calico-node-h95hj                         1/1     Running   0          87s
coredns-86f78bb79c-scm69                  1/1     Running   0          69s
metrics-server-8bbfb4bdb-8vhlv            1/1     Running   0          55s
hostpath-provisioner-5c65fbdb4f-hmq6b     1/1     Running   0          58s
calico-kube-controllers-847c8c99d-bs6rz   1/1     Running   0          87s

results is not sorted by name
sorting with adding --sort-by=.metadata.name is awkward
kubectl -n kube-system get pods --sort-by=.metadata.name
NAME                                      READY   STATUS    RESTARTS   AGE
calico-kube-controllers-847c8c99d-bs6rz   1/1     Running   0          4m39s
calico-node-h95hj                         1/1     Running   0          4m39s
coredns-86f78bb79c-scm69                  1/1     Running   0          4m21s
hostpath-provisioner-5c65fbdb4f-hmq6b     1/1     Running   0          4m10s
metrics-server-8bbfb4bdb-8vhlv            1/1     Running   0          4m7s

Ubuntu 18.04.5 LTS (Linux version 4.15.0-136-generic)

Thanks @maksim-paskal for reporting this.
Without passing the sort-by kubernetes delegates the sorting to the backend storage.
In the case of etcd backend the default is to sort alphabetically.
From MicroK8s 1.19, the default backend used is dqlite, (cni is calico) that is why you are seeing the difference.
If you want to continue using etcd and flannel, you can disable ha-cluster like this microk8s disable ha-cluster.  Please be reminded that your cluster will be reset, i.e. you will lose data.
I will close the issue for now.
Thanks


Suggestion: Typescript plugins

It seems in most typescript projects, the build setup will have tslint, tsc, and some form of minifier. This is also closely related to #8. The build setup also has someway of deciding whether to invoke the build pipe depending on what files have changed.
I believe typescript should have plugins just like babel. Basically the compiler has hook points at various before/after stages, plugins can modify scanner behaviour, parser behaviour, emitter behaviour.
This means tslint can hook in and do its checks at parser/scanner stage. There could be a plugin to support a much stronger inference, kind of like flow at the checker stage. The minifier can hook in the emitter stage.
I could write a plugin to support extra syntatic sugar. e.g is isn't, and, or, not.  a plugin to support Coffeescript like omission of parenthesis and curly braces.
There could be a plugin to inline function calls, or a plugin to output computationaly intensive code as asm, or wasm.
There could be a plugin to cache the AST's so when the same file is encountered with the same hash, it can load the AST from cache speeding up the compiler.
This would mean typescript does what it needs to do the best, the community can build plugins rather than having to fork the whole typescript project to support a simple feature.
tsconfig.json would have a plugins array and just like npm init, tsc can auto download the plugins if it doesn't have them.
What do you think?

There are different levels of extension, each with different implications on the system, and each enable a new set of scenarios.
We are looking into refactoring our emitter to a transformation pipeline (https://github.com/Microsoft/TypeScript/issues/5595); that will enable multiple scenarios related to emitter/code generation/code optimization extensiblity. We also have a request for a type-provider-like extension point (https://github.com/Microsoft/TypeScript/issues/3136), allowing for extensions to create new types from other sources than the user code, e.g. JSON or database. We are also looking into Language Service extensibility (https://github.com/Microsoft/TypeScript/issues/6508), allowing for additional liniting/design time experience customization.
Extensibility points for augmenting the language syntax, is something that would fall low on the list; TypeScript has a type system aspect that other transpilers do not have, and changes to the syntax require changes to the typesystem as well, and i do not think this is an easy task. For these, i would recommend forking the compiler to experiment with it, and we can always pull that in based on the results of the experiment. this was the model we followed for the JSX support.
In short, externsibility is one topic on our roadmap; I would expect different extensibility points to show up incrementally in future releases.
I believe this issue is already captured in multiple existing issues, listed above, so i will close it as a duplicate. feel free to add comments/proposals to these issues, or file other issues for specific extensbility points needed.


Allow the user to specify the full path for local build install.

Local build path will be different when using docker build; or when
downloading pre-built binaries from github. Let the user specify the
full path.

@eparis do you mind reviewing this PR ?

@rrati @jayunit100

ah yes, fixes  my earlier issue , maybe guess we can close  #198 now


Update harsha.md

can i update it again!! or you already done!

Yes, you can always update your local repo and then git commit + push again and this PR will be auto-updated with your latest changes.

Ask in Twitter group or discord by giving link to this pr for review and approval. 2 approval needed.


Expose suitable metrics as instance methods off their respective resources.

We expose many metrics off off the 'metrics' sub-module for many modules.  However, those metrics tend to be for the entirety of that AWS sub-system.  Many metrics supply  'dimensions' to allow you to suitably narrow down the result to some particular AWS resource.
In the cases where AWS does provide this, we should expose these metrics as instance methods on the resources themselves.
A non-exhaustive list of where we can do this is:

[x] lambda function metrics. https://github.com/pulumi/pulumi-aws/pull/522
[x] apigateway restapi. https://github.com/pulumi/pulumi-aws/pull/524
[x] sns topic. https://github.com/pulumi/pulumi-aws/pull/526
[x] sqs queue. https://github.com/pulumi/pulumi-aws/pull/525
[x] dynamodb table. https://github.com/pulumi/pulumi-aws/pull/527
[x] s3 bucket. https://github.com/pulumi/pulumi-aws/pull/529
[x] ec2 isntances. https://github.com/pulumi/pulumi-aws/pull/530
[x] cloudfront distribution. https://github.com/pulumi/pulumi-aws/pull/531
[x] ecs cluster. https://github.com/pulumi/pulumi-aws/pull/532
[x] cognito user pool. https://github.com/pulumi/pulumi-aws/pull/533
[x] cloudwatch rule, loggroup, filter, destination. https://github.com/pulumi/pulumi-aws/pull/534
[x] codebuild project. https://github.com/pulumi/pulumi-aws/pull/536
[ ] ecs service. Needs to be done in awsx.
[ ] loadbalancers+targetgroups.  needs to be done in awsx.

This has been completed to our desired level.


Moved the encryptor setting for the User model into the devise config

allowing it to be easily overridden from the local devise config.

@jhawthorn This looks good to me. Can you think of any reasons this might cause problems?

:+1:

Only issue I could see is if a store had two devise models side-by-side. I think the benefit of this will reach more users than that edge case.
Sorry for the delay @lukepfarrar. This is great :+1:

Cheers Chaps :-)


How do we uninstall OLM

Support
How do I go about uninstalling OLM?
Question
I installed OLM via after changing my context to the appropriate kubernetes cluster
curl -sL https://github.com/operator-framework/operator-lifecycle-manager/releases/download/v0.26.0/install.sh | bash -s v0.26.0
I expected to have an uninstall script so that I can uninstall OLM
There is no documentation or a script that is responsible for uninstalling OLM
What did you see instead? Under which circumstances?


Add ratelimits per room for bookings

To prevent excessive bookings, allow the option for rooms to limit the number of hours per group or student. Some options for how to ratelimit could be provided to the administrators, including:

ratelimit based on the number of hours the booking author has booked in the past
ratelimit based on the number of hours the group creating the booking has booked in the past
ratelimit based on the minimum value of the both above

closed by #245


reformatted Main Page

re scaled and ordered butons on Main/Home page

Re-did this in another branch