The Debug Toolbar has stopped showing under Docker

It seems like the snippet of code in the documentation for using Docker has stopped working.

That snippet of code will set INTERNAL_IPS to ['<IP_ADDRESS>', '<IP_ADDRESS>', '<IP_ADDRESS>'], however, inside debug_toolbar.middleware.show_toolbar(), request.META.get("REMOTE_ADDR") returns '<IP_ADDRESS>', which is why it ends up not showing the Debug Toolbar.
This snippet of code used to work. I'm guessing something must of changed in a recent version of Docker to cause it to not get the correct IP address. I'm not sure at this point how to get the IP dynamically because even ifconfig shows the 172.27.01 IP address instead of the <IP_ADDRESS> IP address.
Versions:

Docker version 24.0.6
Docker Compose version v2.22.0-desktop.2
macOS Sonoma version 14.0
django-debug-toolba v3.8.1
django v4.2.5

If you're absolutely sure that nobody else will access your development server I still prefer the following snippet:
if DEBUG:
    # `debug` is only True in templates if the vistor IP is in INTERNAL_IPS.
    INTERNAL_IPS = type("c", (), {"__contains__": lambda *a: True})()

There's no need to determine the IP address, all you have to do is to make INTERNAL_IPS contain everything by defining a __contains__ method which always returns true.
That being said, it would be nice if there was a copy-pasteable and somewhat safer fix for this.

Can confirm the original code for finding the internal IP has stopped working. I've also just allowed all IPs when debug is on. From what I can tell, something like socket.gethostbyname('host.docker.internal') is supposed to return the right IP, but doesn't. In my case, the right IP is <IP_ADDRESS>, but host.docker.internal returns <IP_ADDRESS>. Maybe allowing just that 192.168.65.* prefix would be more secure?

I doubt there's anything which is always going to work, whatever docker/podman/etc. does, except for my INTERNAL_IPS hack.
I'm slowly leaning towards documenting the hack with a big big caveat. Opinions?

As a user, this has tripped me up every single time I start a new project. I get the need for making sure the toolbar isn't shown in production, but since Docker is such a common development environment, I can't help but think there's a better way to accomplish this?
Maybe this snippet can be included in this library somehow? Then if users are on Docker they can just import a single function and add it to INTERNAL_IPS? The snippet could be more robust then, like checking for DEBUG is True.
But yeah, in lieu of that, documentation is always welcome. A bit more explanation about why the snippet is needed, plus what it's actually doing would be great. Maybe a date/Docker version on when it was last known to work as well?

@matthiask I'm less sure we should even be supporting an INTERNAL_IPS out of the box. That feels like an invitation to utilize the toolbar in a remote environment. Perhaps instead we should default to checking that the user is a super user instead?

I don't even have DjDT installed in production, but I know not everyone does it that way.
Checking if someone has superuser permissions wouldn't work for us because we sometimes impersonate regular users for debugging and still need DjDT.
I don't know the history ... why isn't going off what DEBUG is set to enough? Isn't it recommended that you don't run a Django project with DEBUG set to True in production?
The simplest thing to do would be just going off of DEBUG and calling it a day. 🙂

One issue is that INTERNAL_IPS (https://docs.djangoproject.com/en/5.0/ref/settings/#internal-ips) does other things besides enable the toolbar.
Specifically: "Allow the debug() context processor to add some variables to the template context.", I suspect (but haven't looked) that the toolbar uses that information internally. However, if the toolbar duplicated this context processor, which itself is pretty small, it could get around that. See https://github.com/django/django/blob/08306bad57761b5eb176894649ac7d4e735c52dd/django/template/context_processors.py#L41

@matthiask I'm less sure we should even be supporting an INTERNAL_IPS out of the box. That feels like an invitation to utilize the toolbar in a remote environment. Perhaps instead we should default to checking that the user is a super user instead?

I'm not sure. I do not have to do anything right now to use the toolbar, and this change would definitely mean I'd have to customize the callback locally, since I use the toolbar also when I'm not authenticated (locally) to quickly see if a particular view requires too many SQL queries for example.

I'm brainstorming now. We have some extra development bandwidth. Maybe we provide various out of the box solutions for the person to configure.
DEBUG_TOOLBAR_CONFIG = {
    "SHOW_TOOLBAR_CALLBACK": "debug_toolbar.show_toolbar.allow_super_users"
}

Then maybe we have:

debug_toolbar.show_toolbar.restrict_to_internal_ips
debug_toolbar.show_toolbar.allow_all
debug_toolbar.show_toolbar.magic_local_docker_fix

You'll still need to change something regardless of what we do. And from what this issue sounds like, the docker integration today is already broken.

The thing which is broken right now is the documentation I think? I can see the usefulness of adding a few additional callbacks of course, but when we only evaluate DEBUG and INTERNAL_IPS we're following Django's lead and I still don't think it's a bad default. People using Docker are probably a bit more advanced already and can for better or worse be expected to add a line or three to their projects I think?

To me, it's simple. Update the documentation and close this issue. Then, it might be good to start planning a more permanent solution and better DX. With Docker/Docker Compose becoming more the preferred development environment, it would be nice if DjDT worked out of the box by just adding it to INSTALLED_APPS. To me, that's the ideal DX to shoot for.

People using Docker are probably a bit more advanced already and can for better or worse be expected to add a line or three to their projects, or not?

I disagree that people using docker are typically more advanced than those that aren't. Docker is one of those technologies that some folks think everyone should know. That leads to at least some folks having it thrust on them when they arguably should be focused on learning the basics of the language and framework they're using.
I know enough of docker to get a service up and running locally for development. I'd be a bit lost trying to solve this particular problem though.

I agree with @tim-schilling. I manage a team of engineers; some of the people on the team are advanced, and some are not because that isn't their focus. Again, if we're thinking about the ideal DX, it would be great if the only requirement was adding DjDT to INSTALLED_APPS.

Great discussion here. Thought I would add from my own experience.
First, I do think the docs should be updated with the @epicserve change. Happy to leave it at that and move on, until at least Docker (or some other new development thing) breaks the solution again.
However, it does seem like it will break again, and I think it's an inherent problem with INTERNAL_IPS. This is because the increasing complexity of our development environments has broken assumptions around what an 'internal ip' means. Django itself only really uses it to enable the debug context processor. While I do see that usage as an invitation to use it for other debug solutions as well, I don't think IPs should be used at all.
As a developer, I'd prefer to have a simple toggle that I control, so I can make decisions on when features of my apps are enabled, or not. I don't want to have to dig into why something broke (or worse, got enabled) when my IP routing changed. I would much prefer to just have a boolean config for the toolbar that just does what I expect. If I want the toolbar to run on a server, great, that should be OK.
My preferred solution:
Ideally, I'd want the toolbar to be enabled after 1) adding it to INSTALLED_APPS and 2) DEBUG is True. I think only requiring the toolbar to be in INSTALLED_APPS is too dangerous and adds to the config complexity of small apps. Since Django's debug mode already can lead to major security issues, gating the toolbar on DEBUG only adds a bit of convince to a potential attack. Also, it's what I would expect as a long time Django user.
However, this is a breaking change. Since INTERNAL_IPS is no longer respected the toolbar may show up when it didn't before. That's bad. If we aren't looking to take on a major version bump, I'd propose adding something like a DEBUG_TOOLBAR boolean config. This would override/ignore the INTERNAL_IPS check. Then to update the docs to make the new config the preferred way, possibly suggesting that users set DEBUG_TOOLBAR = DEBUG. If the config isn't present, then fallback to INTERNAL_IPS.
Hope this makes sense!

@blopker, sorry I wasn't clear. I was assuming DEBUG set True as a given for DjDT to be enabled.
Why couldn't you just go off of INTERNAL_IPS, if that value is set, otherwise use the DEBUG_TOOLBAR value for checking if it should be enabled. I don't see that as being a breaking change.

Great, thanks for clarifying. I guess it's a question around order of precedence for the settings. I'll go through the 3 types of users I can think of:

New users to the library
Old users to the library that read changelogs and want to move off the Docker hacks
Old users that just want to update and not change anything

I've created a toy test case with these scenarios. First, here's the should_enable function:
def should_enable(settings, request):
    if "debug_toolbar" not in settings.INSTALLED_APPS:
        return False

    if settings.DEBUG is not True:
        return False

    if settings.DEBUG_TOOLBAR is True:
        return True

    if settings.INTERNAL_IPS:
        return request.META["REMOTE_ADDR"] in settings.INTERNAL_IPS

    return True

It prioritizes DEBUG_TOOLBAR over INTERNAL_IPS, which I think is the area of discussion. This lets the dev chose to enable the toolbar without INTERNAL_IPS being correct. I like this because INTERNAL_IPS toggles other functionality in Django that devs may want, but with the option to toggle the toolbar independently.
The full toy script with tests is here: https://gist.github.com/blopker/8186a79792d39022e33eccb094c433ea
Does that make sense? Are important test cases missing?


'file' object: change the user string attributes to user objects

The file object contains four Optional user attributes which are currently just free-form strings:

accessor
creator
modifier
owner

Leaving these free-form goes against the regular consistency with the OCSF user object, and very much limits the capability to map specific user attributes to the accessor, creator, etc. etc. Such as the user's e-mail, full name, org, or other details.
I am proposing that we keep the attribute names the same (accessor, creator, modifier, and owner), but change them from string types to user objects. This would allow to map attributes such as:

creator.email_addr
owner.name
modifier.domain

In addition, doing so would make them useful observables.
For reference, here is the user object:

Because the user object only has recommended fields and no requirements, I think this change makes a lot of sense. The value you would put in those 4 fields would be inside the user object as name

This is a great suggestion and also aligns better with FIM solutions.


Clarify documentations around protected closures.

The docs state that "protected closures do not get access to the container", but this is somewhat misleading (it confused me for a quite some time). It's true that protected closures are not passed the container as a function argument, but they can access the container via use ($app).

Thank you @jordanlev.

I've also added an example in 694fe55 to make it extra clear.


Preprocessor condition for __umul too relaxed

Hello,
when trying to compile Boost 1.83.0-beta1 I noticed an compilation error:
    "clang++"   -O3 -Wall -fvisibility=default -Wno-inline -g -std=c++17 -stdlib=libc++  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk -arch armv7 -arch arm64 -miphoneos-version-min=10.0 -DBOOST_ALL_NO_LIB=1 -DBOOST_CONTAINER_STATIC_LINK=1 -DBOOST_JSON_SOURCE -DBOOST_JSON_STATIC_LINK=1 -DNDEBUG   -I"."  -c -o "/Users/gregorj/Git/el/boost/_output/iphoneos/boost/bin.v2/libs/json/build/clang-darwin-14/release/address-model-32_64/link-static/pch-off/target-os-iphone/threading-multi/visibility-global/src.o" "libs/json/src/src.cpp"

In file included from libs/json/src/src.cpp:10:
In file included from ./boost/json/src.hpp:58:
In file included from ./boost/json/detail/charconv/impl/from_chars.ipp:15:
In file included from ./boost/json/detail/charconv/detail/from_chars_float_impl.hpp:12:
In file included from ./boost/json/detail/charconv/detail/compute_float64.hpp:11:
./boost/json/detail/charconv/detail/emulated128.hpp:85:26: error: use of undeclared identifier '__umulh'
    std::uint64_t high = __umulh(x, y);
                         ^
1 error generated.

This happened because my compilation scripts still include(d) a 32bit ARM target (-arch armv7).
I guess this check here:
https://github.com/boostorg/json/blob/0a7860fcfce7d66c0abe3d96f666540c00c33f73/include/boost/json/detail/charconv/detail/emulated128.hpp#L82-L87
Must be tightened to only include 64bit ARM.
Thanks,
Gregor

@gjasny can you check if #922 fixes the issue?

Since __umulh is an MSVC intrinsic, the correct macro to check should be the MSVC-specific _M_ARM64, not the GCC one.

@gjasny can you check if #922 fixes the issue?

Thanks for the fix. I’m traveling right now and won’t be able to verify your patch before the upcoming Boost release.


Alldebrid not playing/Installing post recovery

Alldebrid not loading episodes post recovery. Installation fails with AllDebrid API key.
error message displays failed to fetch media in Stremio App

It was working for about 20 minutes when everything came back up. I submitted a ticket with AD support to see if they can do anything on their end...like allowing the new torrentio host.

A small update to this issue. The addon now installs with All Debrid configuration as of this moment, but returns no results for any movie or show. No email from AD is received for new IP address confirmation as well.

Issue seems to be fixed. Addon is installed with AD configuration. When searching for movies and shows, AD+ results are showing up and streaming well

AllDebrid still not working. Not listing AD+ links

Check your email. I just had to verify an email from AD for the API. Was working before that. But suddenly not and as soon as I was struggling I got an email.

I had to do a complete reinstall and check my email


'Client.document_text_detection()' errors "Bad image data." but the file seems fine

OS type and version -- MacOSX Sierra 10.12.6
Python version and virtual environment information: python 3.6
google-cloud-python version:

Grants-MacBook-Pro:python-web-service grantdelozier$ pip show google-cloud
Name: google-cloud
Version: 0.28.0
Summary: API Client library for Google Cloud
Home-page: https://github.com/GoogleCloudPlatform/google-cloud-python
Author: Google Cloud Platform
Author-email<EMAIL_ADDRESS>License: Apache 2.0
Location: /usr/local/anaconda3/lib/python3.6/site-packages

Steps to reproduce

Download the png file from s3 here: https://s3.amazonaws.com/oseberg-public/nlp-files/57c3bad43cc4b5d1ce9cecf2ff6b2fde55c0e797c366704ee264c4091cc43d4a_copy.png

Code example

Download the file and run the following:
from google.cloud import vision
client = vision.ImageAnnotatorClient()

downloaded_image = 'path_to_file'

with open(downloaded_image, 'rb') as f:
     content = f.read()

image = vision.types.Image(content=content)
response = client.document_text_detection(image)

error {
  code: 3
  message: "Bad image data."
}

I don't think there is anything wrong with the png file in question. I can open the png just fine using MacOSX Viewer application, and can convert it to other image types using imagemagick tool from the console.
Is there any way I can get more information on how the image is bad? Seems more is required than a png below a certain size, would be great to get exact info on what the requirement is

Not sure why, but I just discovered that when I re-export the same .png file as another .png using GIMP, the "Bad Image data." error goes away 🤔

@grantdelozier Given that your re-export of the file got the API to accept it, I'm going to close this.  Please feel free to reopen or submit a new issue if you can provoke the same behavior with another image.

am facing same issues - reading image from my google cloud storage and response giving Bad image data... please suggest what could be issue? here is my code:
import requests, json, sys
import io
gstorate_url = sys.argv[1]
imageUrl=sys.argv[1]
file=imageUrl.split('/')[-1].split('.')[0]+".txt"
url="https://vision.googleapis.com/v1/images:annotate?key=AIzaSyAh7Ad2prealm9QgP04JJbHOvW_DRmJ3mo"
data = '''{{
"requests":[
{{
"image":{{
"source":{{
"imageUri": "{}"
}}
}},
"features":[
{{
"type":"DOCUMENT_TEXT_DETECTION"
}}
]
}}
]
}}'''.format(gstorate_url)
print(data)
response=requests.post(url,data=data,headers={'content-type':'application/json'})
print(response)
print(file)
data_dict=json.loads(response.text)
print(response.text)
sending argument of cloud image path...

TIFF and PDFs have to be handled asynchronously:
Wrote an email to GCP support asking them to update their documentation as well as the error code.


I18n/site alternate texts

Description
Added translation tags for alternate texts
Added a few missing translation tags
Related Ticket
https://github.com/KlimaDAO/klimadao/issues/157
Checklist

[X] Building the site with npm run build-site works without errors
[X] Building the app with npm run build-app works without errors
[X] I formatted JS and TS files with running npm run format-all

@biwano a new logo was added just now, can you do that one too please :)

@biwano a new logo was added just now, can you do that one too please :)

Done ser


data_augment.py _crop , return ?

is not a bug in the loop?

Hi @foocker, thanks for your interest. Can you elaborate more, which line are you referring to?

Hi @foocker, thanks for your interest. Can you elaborate more, which line are you referring to?

[https://github.com/zisianw/FaceBoxes.PyTorch/blob/master/data/data_augment.py]
function _crop the last two line, 62 and 63. the last return seems redundance.

By the way, why don't you add AlignModule to this model? lately, i've been adding the five point module to FaceBoxes, but i'm not sure it is good or not...

Hi @foocker, thanks for your interest. Can you elaborate more, which line are you referring to?

soory, it's my wrong! but some place i can't understand yet...
such line 48: boxes_t[:, 2:] -= roi[:2]  ,
in addition, when the data is AFLW, in one image, just have one person mostly, this _crop function
will be  work in high efficiency?

soory, it's my wrong! but some place i can't understand yet...
such line 48: boxes_t[:, 2:] -= roi[:2] , why -=

No worries. After getting the coordinates of the training patch, the coordinates of the face boxes need to be updated too, and this is done via the line you mentioned.

in addition, when the data is AFLW, in one image, just have one person mostly, this _crop function
will be work in high efficiency?

_crop crops a patch from the original image, check and filter for valid face boxes and return the results. You can try isolating the function itself and check the results for a better understanding of its effect and see if it's suitable for your use case.

soory, it's my wrong! but some place i can't understand yet...
such line 48: boxes_t[:, 2:] -= roi[:2] , why -=

No worries. After getting the coordinates of the training patch, the coordinates of the face boxes need to be updated too, and this is done via the line you mentioned.

in addition, when the data is AFLW, in one image, just have one person mostly, this _crop function
will be work in high efficiency?

_crop crops a patch from the original image, check and filter for valid face boxes and return the results. You can try isolating the function itself and check the results for a better understanding of its effect and see if it's suitable for your use case.

thank u for your replay, i will do some experiments.


xCode 9: Deletion not working

In xCode 9, duplicate feature works perfectly but the deletion does not.

@marshallino16 Working on it, thanks for reporting the issue

@marshallino16 XCode 9 official release works fine


ISSUE #1

There's 2 error, 1st one is wallet and 2nd one while processing task

@cryptoknightsz if you again face any error plz tell me

Sure, let me check

One more error, happens with every session

@cryptoknightsz check new update

Plz dm in telegram https://t.me/scripts_hub_chat

Another issue


[$1000] Dev: Web - Message is not center aligned vertically

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 and focus on composer
Send any message
Hover message and observe hovered background

Expected Result:
Message is center aligned vertically
Actual Result:
Message is not center aligned vertically
Workaround:
Unknown
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: Dev 1.3.43-4
Reproducible in staging?: n/a
Reproducible in production?: n/a
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

Expensify/Expensify Issue URL:
Issue reported by: @situchan
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1689880642291459
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01e8cf36b803aa7592
Upwork Job ID:<PHONE_NUMBER>924675072
Last Price Increase: 2023-07-25

Proposal
Please re-state the problem that we are trying to solve in this issue.
Web - Message is not center aligned vertically
What is the root cause of that problem?
We are still rendering component which is responsible for showing emoji reactions and it has some padding applied to it
What changes do you think we should make in order to solve the problem?
We should add condition and render ReportActionItemEmojiReactions only if report action has an reaction:
https://github.com/Expensify/App/blob/8dcad168d11a71424b6ffd7fa30fd1770c0165d5/src/pages/home/report/ReportActionItem.js#L361
We can add  condition  like this: _.isEmpty(props.emojiReactions)
What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
Chat Message is not aligned center vertically
What is the root cause of that problem?
As ReportActionItemEmojiReactions we are rendering without having the reactions also causing the issue of top margin of 8px.
https://github.com/Expensify/App/blob/041d6400d0909812d8423c5f19d1092dd347a040/src/pages/home/report/ReportActionItem.js#L361
https://github.com/Expensify/App/blob/041d6400d0909812d8423c5f19d1092dd347a040/src/components/Reactions/ReportActionItemEmojiReactions.js#L71-L73
What changes do you think we should make in order to solve the problem?
Only render the View for ReportActionItemEmojiReactions when we have the reactions for the message.
{!_.isEmpty(props.emojiReactions) && <View style={draftMessageRightAlign}>

https://github.com/Expensify/App/blob/041d6400d0909812d8423c5f19d1092dd347a040/src/pages/home/report/ReportActionItem.js#L360

Proposal from slack (@kbecciv missed pasting)
Proposal
Please re-state the problem that we are trying to solve in this issue.
Chat message is not center aligned vertically
What is the root cause of that problem?
Issue happens on this line:
https://github.com/Expensify/App/blob/bc7f68962a2251fd51d5eba1da24cafd90dd790d/src/components/Reactions/ReportActionItemEmojiReactions.js#L73
So even if no reactions to show, 8px is always added
What changes do you think we should make in order to solve the problem?
Early return null if totalReactionCount = 0
For this, we should run _map code first to calculate totalReactionCount earlier than return null

I am OOO for 10 days. Rotating the assigner.

I would like to work on this issue
I'll ensure it'll be well aligned

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~0107b91299bb95fd39

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~0107b91299bb95fd39

Straight forward one so going with the first proposal  to where I can infer the idea! Pretty much all proposals are similar.
So let's go with @alitoshmatov here!
C+ Reviewed
🎀 👀 🎀
@samh-nl Please refrain from modifying the proposal extensively. I see your proposal has multiple edits and the first version and last version is a completely different.

I missed one it seems wait @pecanoro

Actually, @situchan's proposal is a bit better than the rest.

For this, we should run _map code first to calculate totalReactionCount earlier than return null

We don't need to do that, instead, we check props.emojiReactions isEmpty and return null
C+ Reviewed
🎀 👀 🎀

Sorry @alitoshmatov!

@Santhosh-Sellavel we cannot check props.emojiReactions isEmpty because of this line:
https://github.com/Expensify/App/blob/e32ff5e90fc5b70a802610d2401270f8c4ee03a1/src/components/Reactions/ReportActionItemEmojiReactions.js#L84-L86
What happens if sortedReactions is not empty and all return early here?
Then it will cause regression of showing only count and no reactions.

@Santhosh-Sellavel Isn't it better just not to render the ReportActionItemEmojiReactions component?

I think the problem is that messages are taking up a lot of space, right? I think I saw a discussion about this somewhere. I will take a look in Slack since it might be duplicate.

@situchan You mentioned this bug is a regression of this PR (https://github.com/Expensify/App/pull/17996)? Can you confirm?

@situchan Also, let me know if I am following correctly, in your proposal, you will be removing the gap, right?

Hmm, I just think it was not intended to have that much space between messages, that's why I think we should remove the extra space instead of centering.

Basically there should be no bug payout, we should figure out whoever introduced this and ask them to kindly fix it.

https://github.com/Expensify/App/pull/17996 which caused regression is fairly big PR.
This is minor style issue and I can raise PR as soon as assigned.

cc @stitesExpensify can you please take a look at this?

Ah this a regression, sorry I missed that!

This was handled as a regression cc: @stitesExpensify please take care of the checklist!

done

@bfitzexpensify sorry for late. reporting bonus is missing here

@bfitzexpensify sorry for late. reporting bonus is missing here

bump ^

Reopening this to action today

Offer sent @situchan

OK, payment complete, we can close this out again.


subnetMaskFromPrefixLength in IPv6

Can you provide subnetMaskFromPrefixLength in IPv6?
e.g.
ipaddr.IPv6.subnetMaskFromPrefixLength(64)

IPv6 does not use the concept of subnet masks.

@whitequark Yes, IPv6 doesn't.
In my case, I need know an IPv6 Address is belongs to a prefix.
For example, I want to know 2001:1234::1 belong to 2001:1234::/32 or not.
I can use that method to get subnetMask, and use binary and logic XOR & AND to know it.

You can use the following code for checking for a CIDR match of 2001:db8::1 to 2001:db8:aaa::/48:
var addr1 = ipaddr.IPv6.parse("2001:db8::1");
var addr2 = ipaddr.IPv6.parse("2001:db8:aaa::");
addr1.match(addr2, 48)


Change /bin/bash to /usr/bin/env bash

Supports systems where /bin/bash doesn't exist (For example, NixOS)

Can you amend it to not remove the blank line? Then I'll merge it.


Explore Microsoft Guidance

How can we take advantage of https://github.com/microsoft/guidance ?
For example, we want to constrain model outputs to generate valid actions. How can we use the guidance library to do so? What other features does the library offer that might be useful?

I think the most useful aspect of the guidance library is to get the output of an LLM model in a pre-specified format with certain parameters (example). This way we can easily parse the output and turn it into a valid ActionEvent.
However, there are limitations with Microsoft Guidance:

very new

not much documentation
still changing; there were many commits last week

takes lots of RAM (I ran out trying to run it. I have 8GB) and hard drive memory

There are also benefits to Microsoft Guidance over alternatives such as LangChain and JSONFormer:

able to resolve issues with models tokening at the wrong spot (token healing)
can easily access only certain parts of the response
can partially generate answers and await further information (example)

Alternative: https://github.com/NVIDIA/NeMo-Guardrails

Useful features:

Incremental generation which can be faster than regular generation
Can force the output to contain unique points
Can use regex to specify output form
Can create hidden blocks to stagger when the model receives additional context

@dianzrong you linked to TokenHealing in your link here, was that intentional?

can partially generate answers and await further information (example)

Incremental generation which can be faster than regular generation
Can force the output to contain unique points
Can use regex to specify output form
Can create hidden blocks to stagger when the model receives additional context

This all seems extremely useful. Any interest in implementing this? 😄

@abrichr I believe https://github.com/NVIDIA/NeMo-Guardrails is for those who are making LLM-powered chatbots, rather than harnessing LLMs like we are.

Thanks @dianzrong !
Can you please  also look into https://lmql.ai/ ? 🙏

LMQL Summary:
The Good:

Built for programmers much more than Guidance is

Much more fleshed out documentation
Has a VSCode extension to help highlight syntax
Has a whole comparison document to Guidance (the main points I will highlight here)
Explicitly has a section on how it can be connected to Langchain
Mentions (in the comparison doc) what they're working on

Can enforce datatype constraints
Queries can be run in parallel and async

So can easily wait for  website queries

Token caching to save tokens and decrease latency

The Bad:

Doesn't have the token healing or acceleration guidance does (apparently in the works though)
The documentation is buggy (links often are incorrect)
The Hugging face integration is confusing


Add support for multiline text field to component supplier

Coverage remained the same at 100.0% when pulling<PHONE_NUMBER>beae0da1a722604081467be3bfbbde on multiline into 12c35a08b61d8c072dca44043786e45f72de106c on master.


Expense - Header content in Members RHP overflows when system message has >4 multi lines

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

Version Number: 9.0.10-2
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Go to staging.new.expensify.com
Submit an expense to any user
Go to transaction thread
Click Description
Enter at least 4 lines of description
Right click on the system message > Reply in thread
Click on the thread header
Click Members

Expected Result:
In Step 7, the title in report details page should be truncated to one line
In Step 8, the header in Members RHP should be limited to two lines (one for Members title, one for the report title)
Actual Result:
In Step 7, the title in report details page is not truncated to one line
In Step 8, the header in Members RHP overflows because it has more than two lines
Workaround:
Unknown
Platforms:

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

[ ] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/user-attachments/assets/ddd48435-8d90-4ca9-a871-e20213dbbe98
View all open jobs on GitHub

@johncschuster  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Proposal
Please re-state the problem that we are trying to solve in this issue.
Header content in Members RHP overflows when system message has > 4 multi lines
What is the root cause of that problem?
A multiline subtitle is passed here for header
https://github.com/Expensify/App/blob/fa738c641e7d2b289850da7b4be11369c33b96d6/src/pages/RoomMembersPage.tsx#L249-L251
And a multiline title here for report details page (Members RHP)
https://github.com/Expensify/App/blob/fa738c641e7d2b289850da7b4be11369c33b96d6/src/pages/ReportDetailsPage.tsx#L240
https://github.com/Expensify/App/blob/fa738c641e7d2b289850da7b4be11369c33b96d6/src/pages/ReportDetailsPage.tsx#L601-L604
When the values is multiline,  numberOfLines={1} only truncates the first line, and leave the rest of the lines as they are.
What changes do you think we should make in order to solve the problem?
We should changes the multiline values to single line value using StringUtils.lineBreaksToSpaces in:

Header

subtitle={StringUtils.lineBreaksToSpaces(ReportUtils.getReportName(report))}

https://github.com/Expensify/App/blob/fa738c641e7d2b289850da7b4be11369c33b96d6/src/pages/RoomMembersPage.tsx#L249-L251

Report Details

const reportName = StringUtils.lineBreaksToSpaces(
        ReportUtils.isDeprecatedGroupDM(report) || isGroupChat ? ReportUtils.getGroupChatName(undefined, false, report) : ReportUtils.getReportName(report),
    );

https://github.com/Expensify/App/blob/fa738c641e7d2b289850da7b4be11369c33b96d6/src/pages/ReportDetailsPage.tsx#L240
If we want to make the multiline change  only to the component that is having issue, we can convert reportName to single line at only the component
title={StringUtils.lineBreaksToSpaces(reportName)}

https://github.com/Expensify/App/blob/fa738c641e7d2b289850da7b4be11369c33b96d6/src/pages/ReportDetailsPage.tsx#L601-L604
What alternative solutions did you explore? (Optional)

Updated Proposal

Added result
And added a comment

Chatting with my pal, @trjExpensify about this one.

Yeah, I think the first line in that header should always be truncated at one line, like any other threadReport Members page header:

CC: @Expensify/design

Agree with that @trjExpensify

Yup, I also agree with that.

That makes sense to me, yeah. Can we standardize and use the same page header we are using in most places? Seems like this is a one-off component or something.

Can we standardize and use the same page header we are using in most places? Seems like this is a one-off component or something.

The header is the same in all places, I believe this is a minor design but introduced recently, the space is taken by a container which contains optional elements like dropdown icon, download icon etc. The container shouldn't be rendered when there is no child element.

@Krishna2323 can you please mention a pr where this is introduced recently?

I'll take a look today

The numberOfLines={1} prop is correctly set but after testing few times it seems numberOfLines={1} doesn't work when we apply styles.pre style.

Thanks for your proposal @Krishna2323.
styles.pre won't work with line break. And removing styles.pre or replace it with styles.noWrap will make the header title of RoomMemberPage inconsistent with other titles because it will collapse multiple whitespaces. Please see the video below
Testcase
https://github.com/user-attachments/assets/b8510810-b05b-4192-bc38-91ba5ac69bf2

@etCoderDysto 's proposal looks good to me!
🎀 👀 🎀  C+ reviewed

@etCoderDysto's proposal makes sense to me, and since we're already using it similarly elsewhere, seems consistent! Assigning!

@etCoderDysto Do you have any ETA for the PR? TIA

@etCoderDysto Do you have any ETA for the PR? TIA

@abdulrahuman5196 PR will be ready for review by today

@hungvu193 PR is ready for review.
Sorry that I am a bit late. I was having a weird issue with iOS build for the past couple of days.
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:iOS Simulator, id:E7E60270-DB92-4B4B-BC31-F9D0420DC6EA, OS:17.5, name:iPhone 15 Pro Max }
{ platform:iOS Simulator, id:E7E60270-DB92-4B4B-BC31-F9D0420DC6EA, OS:17.5, name:iPhone 15 Pro Max }
** BUILD FAILED **

@hungvu193 PR is ready for review. Sorry that I am a bit late. I was having a weird issue with iOS build for the past couple of days.
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:iOS Simulator, id:E7E60270-DB92-4B4B-BC31-F9D0420DC6EA, OS:17.5, name:iPhone 15 Pro Max }
{ platform:iOS Simulator, id:E7E60270-DB92-4B4B-BC31-F9D0420DC6EA, OS:17.5, name:iPhone 15 Pro Max }
** BUILD FAILED **

I see 😄 . No worries

Acknowledged! I'll issue payment after the regression threshold is cleared.

Payment Summary
Contributor: @etCoderDysto  paid $250 via Upwork - please apply to the job ASAP so I can issue payment on time
Contributor+: @hungvu193  owed $250 via NewDot

@hungvu193 can you complete the BZ checklist above?

Payment Summary
Contributor: @etCoderDysto paid $250 via Upwork - please apply to the job ASAP so I can issue payment on time Contributor+: @hungvu193 owed $250 via NewDot

I have applied to the job. Thanks!

@etCoderDysto, the offer has been sent! I'll issue payment after the regression threshold is passed 👍

@hungvu193 can you complete the BZ Checklist when you get a moment? Thank you!

@etCoderDysto, the offer has been sent! I'll issue payment after the regression threshold is passed 👍

I have accepted the offer. Thanks!

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ]  [@hungvu193] The PR that introduced the bug has been identified. Link to the PR:
[ ]  [@hungvu193] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
[ ]  [@hungvu193] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
[ ]  [@hungvu193] Determine if we should create a regression test for this bug.
[ ]  [@hungvu193] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

That's really hard to find the offending PR of this issue, this issue is the combination of different features that we added recently.

We added RoomMemberPage (we already had validation for room name, of course we don't allow line-breaks for room name)
We introduced thread for transaction messages, and the transaction message can have line breaks, as shown in this issue. The Room Member Page's title, when inside a transaction thread, is the transaction message. This caused the title to overflow because our title used styles.pre, which doesn't support line breaks.

Regression test:

Submit an expense to any user.
Go to transaction thread.
Click Description.
Enter at least 4 lines of description.
Right click on the system message > Reply in thread.
Click on the thread header.
Verify the title of Report Detail Page is displayed correctly.
Click Members.
Verify that the title of Members page is displayed correctly.

Do we 👍 or 👎  ?

Feels free to close, I'll request on ND later

Payment has been issued to @etCoderDysto via Upwork and @hungvu193 will request via NewDot. Thanks for your contributions! 🎉

$250 approved for @hungvu193


Updating bad struct field name

@paulmey @ahmetalpbalkan would be great if this one could be merged as I was just about to push all my tests (also using this one) into a Terraform PR... But noticed just in time I didn't push this one back to you guys already...
Thx!

Lgtm thx

Thx!

hmmm wait a minute... is https://msdn.microsoft.com/en-us/library/azure/jj157205.aspx wrong? Do we use this struct in a different context?

@paulmey yes, that doc is wrong (again :wink:)

Ok... sorry about that...

:disappointed:

Oh man. @Svanharmelen I should get those docs fixed, just tell me. :-) how do you find the correct names though?

@paulmey no worries...
@ahmetalpbalkan Doing some reverse engineering based on the errors and a lot of debugging and then when I think I know what is wrong scrolling through the source code of the Powershell and/or .NET SDK to see how it's done in there...

thanks reporting this.

@svanharmelen hmm product team claims the Name was actually correct. (I also see Name on the .NET SDK source). Have you tried if DiskName does the job? Where exactly did you see DiskName used?

@ahmetalpbalkan sure thing I tested and tried this! Let me revert it back and test again as I needed to fix more stuff to get everything working as expected. So let me (try) to confirm this was essential in getting it to work.
But even if it works with just Name, I'm 100% sure it works with DiskName as well as that's what I'm currently successfully use to get disks resized...

Nope, I can confirm that if I change DiskName back to just Name, it breaks again... The error is a little cryptic, but it points me into the XML parser having issues reading the fields it expects:
Error response from Azure. Code: BadRequest, Message: The value for parameter 'Label' is null or empty.

The XML I send looks like this (the working XML, the one breaking is 100% the same except for DiskName now being just Name):
<Disk xmlns="http://schemas.microsoft.com/windowsazure">
    <DiskName>terraform-test1-terraform-test1-1-201505272023270700</DiskName>
    terraform-test1-1
    <ResizedSizeInGB>20</ResizedSizeInGB>
</Disk>

Thanks a lot for your input! And when you update disk like that, is the new name your provide visible on the Get endpoint?

@svanharmelen that error could also indicate 'wrong' order of XML elements... In my experience, the serializer allows for unrecognized elements (DiskName?), but not for recognized elements in the wrong order. So maybe
<Disk xmlns="http://schemas.microsoft.com/windowsazure">
    terraform-test1-1
    <Name>terraform-test1-terraform-test1-1-201505272023270700</Name>
    <ResizedSizeInGB>20</ResizedSizeInGB>
</Disk>

will work? (yes, I agree that the error messages are not very accurate...)
The way I've reverse engineered these things in the past is running them through Fiddler and looking at the actual XML going over the wire.

Yeah @paulmey could be right. If the changes you make using "DiskName" are actually effective in when you list/get disks (when xml elements are in the documented order) then the docs are wrong.

So the docs are wrong either way, the question is which way :wink:
Will check if it's the ordering instead of the naming in just a few...

Yeah, there's no excuse... :disappointed:

@paulmey you were right! It's indeed the order, not the name... So will put in a small PR to fix this...


Support overriding XML doc comments for methods and properties

Whether using HLC codegen or DPG, there have been cases where we've wanted to improve the documentation that gets generated beyond simply transforming the swagger description. It'd be great if there was a way to do this, though off hand I'm not sure what that would look like so we rely heavily on Roslyn, which would need some stub - like a property or method - to hang this information on.
For properties we can do that fairly easily today, at least. Most often, we just need to redeclare the property and regenerate, and we can add whatever docs we want.
For methods, though, we have to define the implementation and lose all the goodness of fully-generated code, which then we have to keep up to date manually or miss potentially critical changes to code gen.
It's hacky, but perhaps using a partial void method with the same parameters to match which, if not implemented, would be elided by the compiler. Should show up in Roslyn, though, so the code generator could pick up any doc comments. Just a thought, and I'm sure there's more.

To note, Python has something this in their patch support via a __patch.py file where they can assign new docs to objects' __doc__ property. Clearly that wouldn't work for us, but the idea of duck typing something like the method I mentioned above - with a name like private partial void {MethodGroupNameSansAsync}Docs - could work for us and still support Roslyn.


Please tag releases

I see you set the version to 0.2.8 but there is no tag for the release. Please tag releases.
Thanks!

i will.

Still no tags :-(

I'm going to evaluate the version without serious bugs for release


Remove Crossplane from community operators

Opening this PR as a maintainer of upstream Crossplane. We do not maintain this entry anymore. Upbound maintains a distribution of Crossplane, which is being added in https://github.com/operator-framework/community-operators/pull/3857
Thanks submitting your Operator. Please check below list before you create your Pull Request.
Your submission should not

[x] Modify more than one operator
[x] Modify an Operator you don't own
[x] Rename an operator - please remove and add with a different name instead
[x] Submit operators to both upstream-community-operators and community-operators at once
[x] Modify any files outside the above mentioned folders
[x] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[ ] Description about the managed Application and where to find more information
[ ] Features and capabilities of your Operator and how to use it
[ ] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[ ] Human readable name and 1-liner description about your Operator
[ ] Valid category name1
[ ] One of the pre-defined capability levels2
[ ] Links to the maintainer, source code and documentation
[ ] Example templates for all Custom Resource Definitions intended to be used
[ ] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

@displague since you are previous contributor, can you have a look at changes if ok with you?


Serverless package doesn't work with serverless-plugin-warmup

When running @ns3/nx-serverless:sls executor with package command, it fails if the serverless.yml is using serverless-plugin-warmup.
To reproduce this issue, generate an app using npx nx generate @ns3/nx-serverless:app my-app-name --plugin @ns3/nx-serverless/plugin, install the dependency<EMAIL_ADDRESS>and modify the serverless.yml follow as described below:
service: my-app-name

plugins:
  - '@ns3/nx-serverless/plugin'
  - serverless-offline
  # Declare the plugin
  - serverless-plugin-warmup

# ...

# Add the custom properties
custom:
  warmup:
    default:
      enabled: true
      prewarm: true
      events:
        - schedule: rate(4 minutes)

# ...

The error thrown is described below.
Error: Unexpected exit code from native zip: 12
 executed command 'zip --quiet --recurse-paths /my-project/packages/my-app-name/.serverless/warmUpPluginDefault.zip'
 executed in directory '/my-project/dist/packages/my-app-name'

It appears @ns3/nx-serverless ignores the warmup handler path (which is not in the dist folder), so it tried to create a zip without contents.

Hmm, I do not know that plugin. I would have to look into it.
I make no promises when, sorry, life's busy :(
I would welcome a PR though if you are willing to look into it yourself.
Plus, maybe a silly question. Have you tried changing the order (placing it before @ns3/nx-serverless/plugin)?

It appears the issue happens because warmup plugin creates a function handler in the project root folder. findFunctionFiles in package-manager in @ns3/nx-serverless  expects all function handler files to be in the dist folder. When creating the list of files for the zip, it doesn't find anything so it tries to create an empty ZIP.
I believe the plugin should try to find files in the dist folder and if none is find, it falls back to searching in the original path. This could be done in the findFunctionFiles.
Let me know if you think the proposed solution is fine so I can open a PR.

I found a workaround, by including the generated file in the assets configuration it gets copied to the dist folder, and findFunctionFiles lists it to be zipped.
{
  "targets": {
    "build": {
      "executor": "@nx/webpack:webpack",
      "outputs": ["{options.outputPath}"],
      "options": {
        "main": "noop",
        "outputPath": "dist/packages/my-app",
        "tsConfig": "packages/my-app/tsconfig.app.json",
        "target": "node",
        "compiler": "tsc",
        "assets": [
          "packages/my-app/assets",
          "packages/my-app/.warmup",
          "packages/my-app/package.json"
        ],
        "externalDependencies": [
          "@nestjs/microservices",
          "@nestjs/microservices/microservices-module",
          "@nestjs/websockets/socket-module"
        ],
        "isolatedConfig": true,
        "webpackConfig": "packages/my-app/webpack.config.js"
      },
      "configurations": {
        "production": {
          "optimization": true,
          "extractLicenses": true,
          "inspect": false
        }
      }
    }
  }
}

I'm confortable in keeping this workaround on my side, so no rush on shipping the proper solution.


Edit vertical rules

how can I edit vertical rules?

See : https://stackoverflow.com/questions/29968499/vertical-rulers-in-visual-studio-code

THANKS!
to open ACUCOBOL as default?

THANKS!


Dataset Viewer issue for Yaxin/SemEval2015

Link
No response
Description
No response
Owner
No response

I understand that the issue is that a remote file (URL) is being loaded as a local file. Right @albertvillanova @lhoestq?
Message:       [Errno 2] No such file or directory: 'https://raw.githubusercontent.com/YaxinCui/ABSADataset/main/SemEval2015Task12Corrected/train/restaurants_train.xml'

xml.dom.minidom.parse is not supported in streaming mode. I opened a PR here to fix it:
https://huggingface.co/datasets/Yaxin/SemEval2015/discussions/1
Please review the PR @WithYouTo and let me know if it works !

Additionally, I'm also patching our library, so that we support streaming datasets that use xml.dom.minidom.parse.


I hope to upload the Number to ELK from MDC, not String, but MdcJsonProvider unsupport it.

[Discussion] https://github.com/logfellow/logstash-logback-encoder/discussions/1021
[stackoverflow] https://stackoverflow.com/questions/78650102
!!!!STOP!!!!
Do not create a question issue.  Instead:

Ask a question on stackoverflow using the logstash-logback-encoder tag
https://stackoverflow.com/questions/tagged/logstash-logback-encoder
OR

Create a new Discussion in the Q&A category
https://github.com/logfellow/logstash-logback-encoder/discussions/categories/q-a.

Supported, closed


Authorization for application

Closes  #1387
Closes #1388
Work in progress

Screenshots

[x] application page overview
[x] random beacon page

[x] render contracts to authorize
[x] fetch data from contracts
[x] authorize KeepRandomBeaconOperator
[x] testing and fixing bugs

[ ] tbtc page

[x] render contracts to authorize
[x] fetch bonding data from contracts for dApp
[x] authorize BondedECDSAKeepFactory
[x] authorize TBTCSystem
[x] add eth for bonding section
[ ] testing and fixing bugs

Tested:

authorization for the BondedECDSAKeepFactory/TBTCSystem,
adding eth for bonding,
authorization for the Keep Random Beacon Operator.

Tested "bonded eth" by running 3 ecdsa clients and running smoke-test.js
in smoke-test.js we have
const groupSize = 3
const bond = 10

uint256 memberBond = bond.add(groupSize).sub(1)).div(groupSize) => 4 , which we can see below:


re: #3829, Wrong value for registering devices

#3829 Wrong value for registering devices in Intune

Its current 500 devices

Our docs and screenshots agree that the current max is 500; for example, the link in the table - https://docs.microsoft.com/en-us/intune/enrollment-autopilot - was last updated ~6 months after this article and it contains a screenshot listing a max of 500 rows, with one row for each device:

@greg-lindsay Would you be able to review and merge this PR created by a MS contributor? Thanks.

@greg-lindsay Any updates?

@lizap Would you be able to merge this PR created by a MS contributor? Thanks.

This was corrected in another edit.


Issues when I paste an item into the WorkSpace of the project

Hi @basarat Is it normal that alm tool doesn't recognize the files when they are copied into the workspace?
The workaround is to restart alm tool and then alm tool sees the new added files!

doesn't recognize the files when they are copied into the workspace?

You add new files in the file system and they don't show up in the tree view? They definitely should.
In fact we do not tell any code about new files we add. The tree view backend actually just picks them up as they show on the file system (so that it can pickup the files no matter who adds them ... us or something external).
More info please! :rose:

Good morning @basarat! I don't know what happened yesterday because today I can't reproduce the error again! I did some test and everything works fine!


Add rudimentary Typescript typings

Hello! Thank you for the project.
Fixes #52
Overview
I noticed discussion over at #52 about typings support, & personally I would benefit a lot from its ease-of-use. So, I went ahead & implemented it into the build process, (& taking note of the discussion thus) without migrating the entire project over to the Typescript language. This was done with some explicit JSDoc types over annonymous functions that TS didn't like, as well as some general improvements such as copying over the in-code explanations out for consumers to read inline.
Notes

Not everything has been typed fully, there are a lot of props 😅.
There exists a few extraneous type exports that are prefixed with a _ because by default Typescript exports all JSDoc @typedefs. In theory you should be able to assign the types to an unused variable & reference it with typeof, but I couldn't get it to work.
I added @types/three, which will now have to be tracked to the three version associated with the package. (Maybe consider making it a peer dependency in the future?)
There weren't any stylistic constraints on how JSDoc were to be written, so I kinda just went along with what worked. Please do make any changes there as required.
I had to disable the ESLint rule valid-jsdoc, since it didn't like doing typings inline within the constructor. I assume this can be workarounded by doing @prop on the class's JSDoc, but imo it becomes hard to trace when doing new implementations.

Thanks for looking into all of this! I'm still not yet sure if I want to incorporate any TypeScript related stuff into the project, but I'll keep this PR open as I continue to consider it. There's a good chance that if I do decide to go the TypeScript route, I'm just going to migrate everything all at once :)

Thanks for considering the PR.
This approach retains all of the JS! At the same time acting as a stop gap between now & when the whole project migrates to TS for existing TS (: any) users (::
The only real TS stuff added is in the form of JSDoc comments, & that only covers the user-facing API, enough so that TS is able to extract declarations.

Hey, I would also really like to see types in this. I am currently trying to implement some kind of vr-holodeck application and I am a bit lost without types and without documentation.

Any updates on this? Typescript would be a huge benefit for this library in my eyes...

I wish so too.... Still waiting for it


Styling stacked bar series is hard

The stacked bar series has the following structure:

It is a collection of bar series, each with a parent g.stacked-bar. To set the color for each series you would expect to be able to decorate as follows:
    var stack = fc.series.stackedBar()
        .decorate(function(sel) {
            sel.attr('fill', function(d, i) {
                return color(i);
            });
        });

This sets the fill attribute for the g.stacked-bar elements. However, the fill color for each bar is determined by the CSS selector .bar>path. which has a higher specificity.
This can be solved by setting the fill style on the path directly:
.decorate(function(sel) {
    sel.each(function(d, i) {
        d3.select(this)
          .selectAll('path')
          .style('fill', color(i));
    });
});

But the need to 'burrow' into the internal structure is a bit ugly.

I've been playing around with this and really like it. However, it took a while to get an example up and running, quite a few scales and value accessors to get right!
This series will benefit from a clear and simple example on the website.
I re-implemented Graham's example using the cycle series, which went pretty well:
d3.json('data.json', function(error, data) {
    var parseDate = d3.time.format('%Y%m%d').parse;

    // parse the data / coerce types
    data.forEach(function(d) {
      d.date = parseDate(d.date);
      d.itemsSold = +d.items_sold;
    });

    var dayScale = d3.scale.linear()
        .domain([-0.5, 6.5])
        .range([0, width]);

    var salesScale = d3.scale.linear()
        .domain(fc.utilities.extent(data, 'itemsSold'))
        .range([height, 0])
        .nice();

    var subScale = d3.scale.linear()
        .domain(fc.utilities.extent(data, 'date'));

    var lineSeries = fc.series.line()
        .xValue(function(d) { return d.date; })
        .yValue(function(d) { return d.itemsSold; });

    var cycle = fc.series.cycle()
        .barWidth(fc.utilities.fractionalBarWidth(0.9))
        .yScale(salesScale)
        .xScale(dayScale)
        .xValue(function(d) { return d.date.getDay(); })
        .subScale(subScale)
        .subSeries(lineSeries);

    container.append('g')
        .datum(data)
        .call(cycle);
});

Although as soon as I added the 'baseline', the average price for each day of the week, it became very ugly! It is a real pain having to repeat the same nesting that the cycle series performs.
I also had to add some manual padding around the dayScale, which I notice the cycle series should take care of. I'll take a close look later.
This functionality could be baked in to the cycle series, or perhaps added as a form of axis?

I also had to add some manual padding around the dayScale, which I notice the cycle series should take care of. I'll take a close look later.

Ignore that - your half-width calculation isn't for padding the axis :-)

Relates to #629 - although the problem described here appears to no longer be an issue.

@ColinEberhardt are we happy #640 closes this?


Thumbs depending on the video duration

Hi, as said in the title, i would like to add thumbs, depending on the video duration.
It it possible to define time using percentage? Or to use a variable duration? I know that the duration can be found in the _meta, but is it possible to retrieve it before the saving ?
Here is my code :
validates :title,
            length: { in: 2..60 }
  validates :description,
            length: { minimum: 2 }

  has_attached_file :content, styles: {
      :medium => {
          :format => 'mp4',
          #convert_options: {
              #output: {
                #name: 'value' # Results in `-name value` in the command line
              #}
          #}
      },
      :thumb0 => { :geometry => '320x180#', :format => 'jpeg', :time => 1.0 * duration / 6.0 },
      :thumb1 => { :geometry => '320x180#', :format => 'jpeg', :time => 2.0 * duration / 6.0},
      :thumb2 => { :geometry => '320x180#', :format => 'jpeg', :time => 3.0 * duration / 6.0},
      :thumb3 => { :geometry => '320x180#', :format => 'jpeg', :time => 4.0 * duration / 6.0},
      :thumb4 => { :geometry => '320x180#', :format => 'jpeg', :time => 5.0 * duration / 6.0},
      }, :processors => [:transcoder]

  validates_attachment :content, presence: true,
                       content_type: { content_type: /\Avideo\/.*\Z/ },
                       size: { :less_than => 2.gigabytes }

Thx in advance for your reply !
(After thinking about it i should have posted on StackOverflow instead... sorry about that)

time can defined as lambda (this is how it's dome in paperclip) and method from instance, for example:
  styles: {
    thumb: {
      format: 'jpg',
      time: ->(attachment) { attachment.instance.method(:style_time_for) },
      processors: [:transcoder]
    }
  }

  def style_time_for(meta, _options)
    meta[:duration].to_f / 2
  end

Thanks for your fast reply ! I'm new to rails and i'm not really used to lambdas, but i am checking the manual right know ;)
I will post my working code if someone else need it.

Well, it is working like that, even if it's not elegant at all :
  has_attached_file :content, styles: {
      :medium => {
          :format => 'mp4',
      },
      :thumb0 => { :geometry => '320x180#', :format => 'jpeg', :time => ->(attachment) { attachment.instance.method(:style_time_for0) } },
      :thumb1 => { :geometry => '320x180#', :format => 'jpeg', :time => ->(attachment) { attachment.instance.method(:style_time_for1) } },
      :thumb2 => { :geometry => '320x180#', :format => 'jpeg', :time => ->(attachment) { attachment.instance.method(:style_time_for2) } },
      :thumb3 => { :geometry => '320x180#', :format => 'jpeg', :time => ->(attachment) { attachment.instance.method(:style_time_for3) } },
      :thumb4 => { :geometry => '320x180#', :format => 'jpeg', :time => ->(attachment) { attachment.instance.method(:style_time_for4) } },
      }, :processors => [:transcoder]

  def style_time_for0(meta, _options)
    1*meta[:duration].to_f / 6
  end
  def style_time_for1(meta, _options)
    2*meta[:duration].to_f / 6
  end
  def style_time_for2(meta, _options)
    3*meta[:duration].to_f / 6
  end
  def style_time_for3(meta, _options)
    4*meta[:duration].to_f / 6
  end
  def style_time_for4(meta, _options)
    5*meta[:duration].to_f / 6
  end

(I will try to add a loop with a parameter later). Thanks for all !


Update A Template for Stories.md

Random edit to summon @yochannah, as the yaml no longer seems to work... (Please help!)
Related issue

#40
Discovered problem

Works_In_Progress with the yaml, when rendered in GitHub, show a table with yaml attributes at the top, like this one, on the left of the below screenshot (call it Working WIP).
New Works_In_Progress that I yaml'd today do not show that table on GitHub, but their yaml code as a snippet (see Broken WIP on the right of the below screenshot).

Shouldn't these look the same and what am I doing wrong? I have raised the PR directly on the yaml file so changes are made directly on there, if that makes sense.
Reviewers

[x] Reviewers selected

this PR is relevant to the migration captured by #40


[WIP] Enhanced retirement workflow changes.

Retirement workflow enhancements.

added new events,
expose methods to automate,
call into automate state machine for retirement processing.
expose new retirement methods for service and vm service models,
added start_retirement and finish_retirement methods,
added retirement_state and automate_retirement_entrypoint.

https://trello.com/c/vdIdXEdT

@mkanoor - Please review.

New PR created for this enhancement
#1971


DBZ-2577 Fix malformed attribute references in downstream title annotations

In a pair of files, the annotations that define the titles for the modularized downstream documentation included a typo in the attribute that represents the product name (a closing square bracket instead of the required curly brace). This fix corrects that error.
The fix was already applied independently in the downstream docs. Fixing the error upstream to prevent overwriting the correction the next time we fetch from the source.
The fix has no visible effect on the upstream doc.
Fix to be backported to 1.2 branch.

Applied to master (=1.3) and 1.2. Thanks, @roldanbob!


FeatureRequest: add CollectionsCondition textsInAnyOrder(String...)

$$().shouldHave(text(String...)) requires that all texts of collection are given as parameter.
If collection is "June","July","August" - then $$().shouldHave(text("July")) fails.
New method textsInAnyOrder should pass $$().shouldHave(textsInAnyOrder("July")) and $$().shouldHave(texstInAnyOrder("July", "June")) for that matter.

@vinogradoff , may be in this case point about part of list also important? I mean that name 'textsInAnyOrder' contains not order-insensitivity check, but also size-insensitivity (texts and exactTextx do size-sensative).
May be 'containsTextsInAntOrder' will be better ?

normally it would go mit shouldHave(textsInAnyOrder….) - looks find for me

Am 21.02.2017 um 09:25 schrieb Alexander Popov<EMAIL_ADDRESS>@vinogradoff https://github.com/vinogradoff , may be in this case point about part of list also important? I mean that name 'textsInAnyOrder' contains not order-insensitivity check, but also size-insensitivity (texts and exactTextx do size-sensative).
May be 'containsTextsInAntOrder' will be better ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/codeborne/selenide/issues/478#issuecomment-281275851, or mute the thread https://github.com/notifications/unsubscribe-auth/AGQ4YK0jU658D2O4WPBHdoiZdZW2d1Deks5rep-HgaJpZM4MEExg.

@asolntsev , how do you think?

@vinogradoff @AleksanderPopov We can implemented it, thought I don't see a real case whn it could be useful. I believe you should always exactly know what it expected behaviour of SUT, including order of texts.

Something like hasItems in Hamcrest would be very usefull. Because sometimes you only want to check if a ElementsCollection contains a subset of all texts...

I like this functionality. Sometimes, order of texts does not matter in tests.

@mseele @hyunil-shin Probably. Why not. Somebody could prepare a pull request.
(Thought, I still don't see a real case when it could be useful...)

Was implemented in PR #589 and released 2.04.2018 in Selenide 4.11.0


Correction for raw affiliation IPSiM, Univ Montpellier, CNRS, INRAE, Institut Agro, Montpellier, France

Correction needed for raw affiliation IPSiM, Univ Montpellier, CNRS, INRAE, Institut Agro, Montpellier, France
raw_affiliation_name: IPSiM, Univ Montpellier, CNRS, INRAE, Institut Agro, Montpellier, France
new_rors: 051escj72;02feahw73;03rnk6m14;003vg9w96;05r332y60
previous_rors: 051escj72;02feahw73;03rnk6m14;003vg9w96
works_examples: W4401996658
contact: 28442f7a33f35d1f7b6d7e1884e20d3d:d8167c948f62e11d683ddd04e373321847f1 @ inrae.fr

This issue was accepted and ingested by the OpenAlex team on 2024-11-18. The new affiliations should be visible within the next 7 days.


Updated kernel

Hi,
is there any plan to upgrade the kernel to Linux 5.5 soon? I need the most recent kernel for support of my RX5500xt. Or can I manually upgrade the kernel?

Yes, there is a new version currently in testing. It think that has the kernel you need. It will likely be released soon. Otherwise you could install the testing version. You can find instructions on how to do so here: https://github.com/gamer-os/gamer-os/wiki/FAQ#how-can-i-help-test-gameros

GamerOS 15 with Linux kernel 5.5.4 has now been released.

Thanks, that version is working great.


Revisit SubjectGenotype

We'll need to revisit the approach to Subject.genotype and the SubjectGenotype object at some point (for v2.0).

@javh is this a duplicate of #667


Deprecated types are not seen as such

Bug description
All the top level types except enums have been deprecated. They should appear with a strike in VSCode and they should show up when using https://github.com/gund/eslint-plugin-deprecation.
Currently then don't, making the upgrade process tedious.
How to reproduce
Steps to reproduce the behavior:

Import a deprecated type in a TS file
Check if the type is marked as deprecated

Expected behavior
The problem is that is doesn't seem to care about the JSDoc of the type alias. This is due to the export import trick used here: https://github.com/prisma/prisma/blob/master/src/packages/client/src/generation/TSClient/TSClient.ts#L287
Since it is not really an import from another module, a simple export type fixes the issue and properly displays the deprecation.
Environment & setup

Prisma version: 2.12.0

This is released in 2.12.1.


follow up to new docs nav

for later (fine to do after shipping)

[x] stop extensions card from growing
[ ] ~focus styles?~
[x] did anything break the cli release process?
[ ] ~seo for the cli command pages (skips h2)~
[x] ask for seo review
[ ] ~move images out of docs~
[x] cloud tokens doc to 1 page https://github.com/pulumi/pulumi-hugo/pull/3038
[ ] ~remove parent pages~
[ ] ~move concepts docs to their own tab~
[ ] ~cloud docs missing policies information~
[x] open pr in service to update links
[x] open pr in main repos to update links
[x] add pkg redirect in registry
[x] remove cloud providers nav item in registry
[x] open pr in registry for link changes there
[ ] ~review overview pages for accuracy~

from joe

[ ] Get Started links to just one scenario (S3 bucket), not the template picker which is what I expected.

[x] I guess I can see why we'd do that, but if we do, I'd make the Templates much more visible on the page and near the top.

[ ] For the templates, I would err on the side of mentioning the actual services. E.g, instead of "Virtual machine on AWS," why not "EC2 virtual machine" (the "on AWS" is implied anyway given the page I am on).
[ ] Should we have a brief description of what the components do? E.g.

"AWSx": Built-in best practices for common AWS services
"AWS Static Website:" Easy S3-based static website with optional Cloudfront CDN

closing as all relevant, unchecked items have been moved into separate issues.


[Proposal] Target: Separate electron into electron-main and electron-renderer

Electron have two different type process - main process (more like node) and renderer process (more like browser). Using electron target in electron renderer process will break some of browser module, so I build a module for this: https://github.com/chentsulin/webpack-target-electron-renderer.
@sokra Is any possible can make this become a bulit-in target? Maybe separate electron into electron-main (original electron target) and electron-renderer two different targets.

Sounds useful. Do you want to do a PR? Ensure backward-combatibility.

I prepare a PR in #1467. I am not familiar with those Plugins, please check this. Thank you.

Released in 1.x and 2.x

What is the difference between electron-main & renderer? Can I just use main?


Bumps react-native-webview peer dependency Requirement to >=11.0.0

📦 Pull Request
Bumps react-native-webview peer dependency Requirement to >=11.0.0
✅ Fixed Issues
n/a
🚨 Test instructions
n/a
⚠ Don't forget to add a semver label!

patch: Bug Fix?
minor: New Feature?
major: Breaking Change?
skip-release: It's unnecessary to publish this change.

:rocket: PR was released in<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>:rocket:


Adjust ingress-controller expressions

Problem:
Wrong use of Histogram type indicator
Solution:
Use histogram_quantile to wrap _bucket metrics
Issue:
https://github.com/rancher/rancher/issues/18962

LGTM

LGTM

lgtm


Allow to provide extra-args to pip like index-url for pypi internal m…

…irrors
This PR to be able to pip install venv through an internal pypi mirror for example.
Thx for your help

Thx @mdklatt for your help


Homepage broken https://getbootstrap.com

Prerequisites

[X] I have searched for duplicate or closed issues
[X] I have validated any HTML to avoid common problems
[X] I have read the contributing guidelines

Describe the issue

Reduced test cases
https://getbootstrap.com
What operating system(s) are you seeing the problem on?
Android, Linux
What browser(s) are you seeing the problem on?
Chrome, Firefox, Opera
What version of Bootstrap are you using?
5.2.1

I get this error in the console:
Failed to find a valid digest in the 'integrity' attribute for resource 'https://getbootstrap.com/docs/5.2/dist/css/bootstrap.min.css' with computed SHA-384 integrity 'gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx'. The resource has been blocked.

And similarly for bootstrap.bundle.min.js

Works fine here, try ctrl+F5 or command+R.

Tried that yesterday to no avail. But it seems to be fixed now. Probably a Cloudflare hiccup


Get UI working with ephemeral chain

Refactoring areas of UI dependence on AtomicHub APIs for member data to instead use subchain. For example, the account profile component in the nav bars, My Delegation page, and ongoing election UI was broken when running on the ephemeral chain. This fixes that.
While I need to finish testing a full election before I know everything is working properly, this does represent important progress. So I'll go ahead and submit this for review.
Once UI-working-with-ephemeral-chain baseline is met, we can get into deeper refactoring.

By the way, I LOVE ephemeral chain. So much easier (once you get the hang of it). I even added it as a custom network in bloks.io and Anchor so I can use those tools too. 💯


Appliance Console, Configure Database Maintenance fails in Docker container

Tested with Euwe RC using the appliaction console, configure database maintenance fails with the folling error.

Configure Database Maintenance

Configure Database Maintenance

/var/www/miq/vmdb/gems/pending/appliance_console/database_maintenance_periodic.rb:20:in `readlines': No such file or directory @ rb_sysopen - /etc/crontab (Errno::ENOENT)
        from /var/www/miq/vmdb/gems/pending/appliance_console/database_maintenance_periodic.rb:20:in `initialize'
        from /var/www/miq/vmdb/gems/pending/appliance_console/database_maintenance.rb:16:in `new'
        from /var/www/miq/vmdb/gems/pending/appliance_console/database_maintenance.rb:16:in `initialize'
        from /var/www/miq/vmdb/gems/pending/appliance_console.rb:533:in `new'
        from /var/www/miq/vmdb/gems/pending/appliance_console.rb:533:in `block in <module:ApplianceConsole>'
        from /var/www/miq/vmdb/gems/pending/appliance_console.rb:109:in `loop'
        from /var/www/miq/vmdb/gems/pending/appliance_console.rb:109:in `<module:ApplianceConsole>'
        from /var/www/miq/vmdb/gems/pending/appliance_console.rb:95:in `<main>'

The docker container does not have crond installed. I think the issue is resolved when adding "yum -y install cronie" to the docker file and enable the service.

ping @jvlcek @fbladilo is this a thing that we can do on the container?

@bazulay

@carbonin Does the DB maintenance script that we run on cron support internal and external databases? The OpenShift container image relies on external DB, while for the monolithic container we use an internal database.

Right now it only works locally
I think the intention is to get it to run over the app's connection to the database in the future, but for now it sounds like this would not be supported for containers then ... right?

@carbonin @bazulay @simaishi Correct, I don't think we want to have it available in one container environment but not the other, it could be confusing for users. Opinions?

If there is no technical issue with supporting this in container environment, I'd feel supporting or not should be decided based on internal or external DB, not appliance or container image.

@carbonin Curious, what happens when you select this option on the VM appliance builds and the database is external? Does it still try to put a cron script?

I think a good approach to explore would be to have the appliance_console check for the existence of /etc/crontab before attempting any configurations, sheltering us form the if container or if external DB logic in the build or the code.

@carbonin @bazulay @simaishi ,
what does the db maintenance through the ap does ? (besides configuring the crontab?)
I mean what commands does it actually run ?
and whether it prevents doing it when the db is not local ?

After re reading this discussion I think we need to ask ourselves  does this functionality belong in a containerized appliance
@carbonin  I assume this script is about vaccuming ... etc ?
While a containerized appliance is by nature a short leaving application I do not see any need for that there, while on the PODified application it may be needed but there the DB is not local.
@carbonin @fbladilo @simaishi  what do you say about  first adding  the relevant functionality to the appliance console  ( remote db ... is there an open issue on that) and only than handle the chron part in the PODified repo.

To old, needs to be part of bigger effort to run in containers

@evertmulder actually this should be addressed with https://github.com/ManageIQ/manageiq/pull/16929 and https://github.com/ManageIQ/manageiq/pull/16940 as the maintenance tasks have been moved into the application.

Ah even better. Thanks


[issue-431] simple status output format

The default zeus output requires an advanced terminal and is also hard to parse,
to make integration in emacs etc easier this adds a simple output format like
Starting Zeus server v0.15.13
node: boot status: unbooted
node: prerake status: unbooted
node: default_env status: unbooted
node: default_env status: booted
node: boot status: ready
node: prerake status: booted
node: default_env status: ready
node: prerake status: ready
node: default_env status: booted
node: default_env status: ready
node: default_env status: booted
node: default_env status: ready

which adds a line for each state change.

Added a first hacky version of an emacs mode


One Room Escape Room

Classroom escape room with a simple flow, assets will be added later once they are finalized.
Loom demo:
https://www.loom.com/share/20a2ce6b116242cc99304998936a2acc

Forgot to add the placeholder teacher and student lol
New demo:
https://www.loom.com/share/0562d431699b428daac45d56fc299a5a

Please do not merge yet. @fakesquid will be uploading a couple of 3D assets that you can use. Once you integrate that, Jack will also need to do a design QA. Couple of other things we need to consider:

Can we allow the user to move in-between desks? If that requires removing some desks to make space, I'm all for it.
Let's make this a little bit more challenging of a room by also including some desks with a math textbook with some random math problem and a history book with a date of some event (choose whichever historical event you want).
Is there a reason why the desks are positioned weirdly like that? Why do all the interactive puzzles have to be on a desk that is positioned away from the other desks? Can we try to make it look like one uniform set of desks in a regular class configuration?

@aaronabraham311:

Can we allow the user to move in-between desks? If that requires removing some desks to make space, I'm all for it.

We can, but this would mean I have to open blender and go through the process of creating, saving and updating the nav-mesh on our repo. I am happy to do it, but only if this is an actual asset that will be using (don't want to do this work if we are just going to discard this background)

Is there a reason why the desks are positioned weirdly like that? Why do all the interactive puzzles have to be on a desk that is positioned away from the other desks?

There's no reason why the desks are positioned weirdly, we did it that way to make it easier to tell which ones are being modified lol. As for the actual puzzles, once we have the assets we can merge that into the actual room (like once we have a textbook asset, we can place it on the chair for example).

Can we try to make it look like one uniform set of desks in a regular class configuration?

Similar to my first answer, if we want to put one of our chairs in a regular spot (replace one of the other chairs), this would involve blender + nav-mesh work.

Updated the PR with a couple of things:

The escape room now has the assets that Jack provided
Added in a math textbook and a history textbook on two desks to make the room more challenging and throw players off
Updated the scene background to use the new version Jay created, which no longer has the block in the middle of the room
At the moment we can't navigate in between desks, however I placed the textbook and students on/behind desks and they are still interactable.

New Demo video showing updated flow:
https://www.loom.com/share/2467af27d6ba4700940cb17c9d7d54d6

@aaronabraham311

Is it possible to have text on the password input when you click on the teacher? Something like, "what's the answer to the question the teacher just asked" or something along the lines to provide a little bit more context. If this isn't constructed, don't worry about it; I can cut out a new ticket if that's the case

Yeah we currently don't have this functionality implemented, so a new ticket would be needed. Should be pretty simple though (less than 30 min work)


EC-414 Tophat - skip to main content

Public seemed like a good place to me - keen to know your thoughts


Roadmap?

Hi @pc3356 and others,
I'm interested in incorporating this work into my organization and contributing, but as an outsider, it's hard to tell where hypergraphql is going and whether it's a safe bet. Contributing is difficult because it's unclear what the original developers have in mind.
Some questions to take this forward:

are there new features planned? What do they look like? What will they do?
when is the development (by the hypergraphql people or by contributers) planned?
how can you contribute?
is there a versioning strategy and release cycle? (website mentions 1.0.3, github is at 1.0.1)

Hi Miel,
Actually, the version on Github is v2.0.0 (as per build.gradle), and I have updated the README to show this. I’m not sure where you found references to v1.0.1 on Github, but this should be updated.
There are new features planned, mainly around ensuring that all the features enabled by the current release of GraphQL are supported.
Development is currently very piecemeal, as no organisation is actually supporting development or contributing to it, which means that day jobs, family commitments, etc., invariably come first but contribution is very much welcomed.
A good place to start would be the open issues in GitHub: https://github.com/hypergraphql/hypergraphql/issues https://github.com/hypergraphql/hypergraphql/issues - this will give a starting point for tasks that remain outstanding. You might also want to investigate whether the feature set exposed by GraphQL is fully supported (some of it may be, almost accidentally)
The versioning is based on Semantic Versioning (https://semver.org https://semver.org/), so v2.0.0 and onwards should be considered the latest, and are not backwards-compatible, due to th expanded feature sets and changed interfaces within GraphQL.
If you have a specific requirement or requirements, then it may be worth checking to see if these are covered by any existing issues, and if not, raising an issue and working on it.
I hope this helps,
Many thanks,
Philip Coates

On 28 Jun 2021, at 12:25, Miel Vander Sande @.***> wrote:
Hi @pc3356 https://github.com/pc3356 and others,
I'm interested in incorporating this work into my organization and contributing, but as an outsider, it's hard to tell where hypergraphql is going and whether it's a safe bet. Contributing is difficult because it's unclear what the original developers have in mind.
Some questions to take this forward:
are there new features planned? What do they look like? What will they do?
when is the development (by the hypergraphql people or by contributers) planned?
how can you contribute?
is there a versioning strategy and release cycle? (website mentions 1.0.3, github is at 1.0.1)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/hypergraphql/hypergraphql/issues/41, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJUQBAHWXDSFGYOAXJUUEDTVBEZVANCNFSM47NVNYQA.

Hi Philip

Hi Miel, Actually, the version on Github is v2.0.0 (as per build.gradle), and I have updated the README to show this. I’m not sure where you found references to v1.0.1 on Github, but this should be updated.

Here: https://github.com/hypergraphql/hypergraphql/releases/tag/v1.0.1

There are new features planned, mainly around ensuring that all the features enabled by the current release of GraphQL are supported.

Do you mean compliance to https://spec.graphql.org/draft/? Ok, Thats's a clear milestone!

Development is currently very piecemeal, as no organisation is actually supporting development or contributing to it, which means that day jobs, family commitments, etc., invariably come first but contribution is very much welcomed.

Of course, and I completely understand. I was mostly asking for transparency and planning, not effort.

A good place to start would be the open issues in GitHub: https://github.com/hypergraphql/hypergraphql/issues https://github.com/hypergraphql/hypergraphql/issues - this will give a starting point for tasks that remain outstanding.

The problem with the current list of issues is that most of them are quite vague and I'm not sure what to do with them (eg. https://github.com/hypergraphql/hypergraphql/issues/14). Another requirements is that somebody - in most cases the lead developers; somebody who knows the codebase well - should offer some guidance on what solution to implement. For instance, there are a couple of ways to go about https://github.com/hypergraphql/hypergraphql/issues/22, but somebody needs to make a decision on what route to take. Or PRs might get turned down, which is a pity of the hard work involved.

You might also want to investigate whether the feature set exposed by GraphQL is fully supported (some of it may be, almost accidentally) The versioning is based on Semantic Versioning (https://semver.org https://semver.org/), so v2.0.0 and onwards should be considered the latest, and are not backwards-compatible, due to th expanded feature sets and changed interfaces within GraphQL.

That's great! So is the documentation still documenting all features correctly?

If you have a specific requirement or requirements, then it may be worth checking to see if these are covered by any existing issues, and if not, raising an issue and working on it. I hope this helps, Many thanks, Philip Coates

It sure does! Although having milestones that list the features you would like to have in the next release wuld be even better.
Cheers,
Miel

Hi,

Here: https://github.com/hypergraphql/hypergraphql/releases/tag/v1.0.1 https://github.com/hypergraphql/hypergraphql/releases/tag/v1.0.1

Thanks! Bit late to tag 1.0.3, and not much point, really, I’ll add a tag for 2.0.0 though/

Do you mean compliance to https://spec.graphql.org/draft/ https://spec.graphql.org/draft/? Ok, Thats's a clear milestone!

It would be great to get a proper roadmap drawn up and put together - I think this could actually be a new and overriding “issue"

I was mostly asking for transparency and planning, not effort.

I completely agree with you on that: ad hoc is pretty unhelpful, and this is something we need to work on

The problem with the current list of issues is that most of them are quite vague and I'm not sure what to do with them (eg. #14 https://github.com/hypergraphql/hypergraphql/issues/14). Another requirements is that somebody - in most cases the lead developers; somebody who knows the codebase well - should offer some guidance on what solution to implement. For instance, there are a couple of ways to go about #22 https://github.com/hypergraphql/hypergraphql/issues/22, but somebody needs to make a decision on what route to take. Or PRs might get turned down, which is a pity of the hard work involved.

I think in this sort of case, the best thing to do (it always is with OS projects) is to ask before picking, but then again, with a proper roadmap, the issues should have had a proper triage and been fleshed out with more information, as necessary.

That's great! So is the documentation still documenting all features correctly?

I think so, yes, although there’s always scope to review and add documentation

It sure does! Although having milestones that list the features you would like to have in the next release wuld be even better.

I’d hope that the next release is a little more… planned - the latest 2.0.0 one for of happened organically over a lot longer period than was initially intended, but hopefully it fixes a few minor bugs and allows for new integrations and features more easily,
Many thanks,
Philip Coates


ios button text not showing

in ios device or in safari button textcolor not showing  also text-allign:center not working plz help

Could you please provide images of the issue and steps to reproduce?