Fixed #27132 -- Allowed testing of both python-memcached and pylibmc backends on Jenkins

Refactors the memcached tests to allow for the testing of multiple backends in the same test run.
Adds pylibmc to the test requirements files, allowing the pylibmc tests to be run on the linux Jenkins jobs. (Building pylibmc will be potentially more complicated for the Windows jobs, so pylibmc installation is skipped there for now.)
Fixes the existing test failures that occurred with pylibmc (ticket #19914)
As an added bonus: Means it's now easier for third-party backends to re-use the Django memcached testcases.

See the individual multi-line commit messages for more details :-)
(And let me know if further splitting/squashing desired)
Fixes:
https://code.djangoproject.com/ticket/27132
https://code.djangoproject.com/ticket/19914

@timgraham, I don't suppose you could add a PyLibMCCache entry to the Jenkins config, so I can see how the tests fare on Jenkins? (They work locally)
The new entry must be added before the existing MemcachedCache one, so that Jenkins runs against master don;t break before this is merged (the memcached tests use the last entry found).
Something like this should work:
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
    },
    'pylibmc': {
        'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
        'LOCATION': '<IP_ADDRESS>:%s' % memcached_port,
        'KEY_PREFIX': '%s_%s_%s_pylibmc' % (PY_VERSION, DATABASE, ASCII_BUILD_NAME),
    },
    'memcached': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '<IP_ADDRESS>:%s' % memcached_port,
        'KEY_PREFIX': '%s_%s_%s_memcached' % (PY_VERSION, DATABASE, ASCII_BUILD_NAME),
    },
}

Many thanks!

buildbot, test this please.

Thank you :-)

I removed the Jenkins settings for now since it causes other builds to fail with "no module named pylibmc". We'll have to either add pylibmc to requirements in a separate commit or make the settings file dependent on Django version. I haven't found anything to suggest that pylibmc is supported on Windows but I'm not sure.

Would this work?

Add pylibmc to the base requirements on master in another PR (with the != 'win32')
Backport just that commit to supported branches
Re-update the Jenkins configs to include the PyLibMCCache backend
Rebase this PR, then merge

Hopefully!

buildbot, test this please.

merged in 047c1d48a613cc2a16f078a9094cc799f06e6b0c and 674e3fe13e5156344bfafbea59018b8837eb3044, thanks!

Thank you :-)


Opengl Polygram Corners Issue

Description of bug / unexpected behavior

In opengl the polygram example shows some corners are not rendered correctly when the width is increased. This may point to an issue in the shaders.
Expected behavior

Six even corners in the hexagon
How to reproduce the issue

Set the renderer to opengl
Code for reproducing the problem
class PolygramExample(Scene):
    def construct(self):
        hexagram = Polygram(
            [[0, 2, 0], [-np.sqrt(3), -1, 0], [np.sqrt(3), -1, 0]],
            [[-np.sqrt(3), 1, 0], [0, -2, 0], [np.sqrt(3), 1, 0]], stroke_width=20.
        )
        self.add(hexagram)

It only seems to cause an issue with two groups of vertices, rendering only one group results in a triangle with all corners connected correctly.

Additional media files

Images/GIFs
Cairo Render

Opengl Render

Opengl Render Wireframe (with blending disabled)

Logs
Terminal output

PASTE HERE OR PROVIDE LINK TO https://pastebin.com/ OR SIMILAR

System specifications
System Details

OS (with version, e.g., Windows 10 v2004 or macOS 10.15 (Catalina)):
RAM:
Python version (python/py/python3 --version):
Installed modules (provide output from pip list):

PASTE HERE

LaTeX details

LaTeX distribution (e.g. TeX Live 2020):
Installed LaTeX packages:

FFMPEG
Output of ffmpeg -version:
PASTE HERE

Additional comments

Yep because we do not have a polyline shader. So we are not able to choose between the different cap modes that are normally supported in cairo. Instead we just get seperate bezier curves forming a shape.


[RFR/No merge]Include the raw result of stdout and stderr in stdout_raw and stderr_raw.

output of core.local cmd="date"

 st2 execution get 54c72f6b0640fd24cfc343f1 -d -j
{
    "action": "core.local",
    "callback": {},
    "context": {
        "user": "stanley"
    },
    "end_timestamp": "2015-01-27T06:25:47.670000Z",
    "id": "54c72f6b0640fd24cfc343f1",
    "parameters": {
        "cmd": "date"
    },
    "result": {
        "failed": false,
        "return_code": 0,
        "stderr": "",
        "stderr_raw": "",
        "stdout": "Tue Jan 27 06:25:47 UTC 2015\n",
        "stdout_raw": "Tue Jan 27 06:25:47 UTC 2015\n",
        "succeeded": true
    },
    "start_timestamp": "2015-01-27T06:25:47.619000Z",
    "status": "succeeded"
}

output of core.local cmd="echo 1"

$ st2 execution get 54c7301d0640fd24cfc343f3 -dj
{
    "action": "core.local",
    "callback": {},
    "context": {
        "user": "stanley"
    },
    "end_timestamp": "2015-01-27T06:28:45.374000Z",
    "id": "54c7301d0640fd24cfc343f3",
    "parameters": {
        "cmd": "echo 1"
    },
    "result": {
        "failed": false,
        "return_code": 0,
        "stderr": "",
        "stderr_raw": "",
        "stdout": 1,
        "stdout_raw": "1\n",
        "succeeded": true
    },
    "start_timestamp": "2015-01-27T06:28:45.320000Z",
    "status": "succeeded"
}

Instead of making it _raw, I myself would rename parsed 'stderr' and 'stdout' into 'error' and 'output' respectively, but I can live with the current implementation either.

Names are irrelevant. I can change it to whatever we desire eventually.

As I mentioned in the other PR, I think we should add new result attribute and leave stdout and stderr attribute as they are (they should contain raw stdout and stderr).
This way, it's consistent across runners. Otherwise it will be inconsistent which will make it confusing for the users.
On a related note - we should add runner sections to the docs and document the output / result of each runner (which should more or less be in the same format).

Kami -  rename aside do you agree with this PR. The duplicate data part bothers me.

Dup data bother me, too.
Do you guys see this as a temp solution, or a permanent?
Are we catering for UI here? If so, can we do this at API level with views?
I didn't catch up with the problem to make suggestions, but yes it bothers me in 2 ways: 1 data duplication and 2) exposing to CLI something that makes no good use in CLI.

@manasdk I just want it consistent across the runners, I don't care about much else.

@Kami Yes. Agreed on consistency. We should talk about output across the system, infact @dzimine and I were doing that offline right now. Would like to do a hangout and discuss this one with everyone. Trying to gather feedback on a few points.

#1052 is another reason why I think we should leave stdout and stderr as it is and use result attribute instead.

Closing. No one is complaining - if someone is motivated we will get it done.


Update service.sh

Use $NAME variable instead of  at "uninstall" method

I don't really use this script any more. would you like to take over maintaining?

Ok, I like this script.


drivers: flash: API for check whether flash is empty "in place"

For now it is required to read flash, an then to check whether whole bytes read were equal to the erased-value. This implies many calls to the flash API, more call is required if temporary read buffer is smaller. Checking whether flash range is empty seams to be a very common feature.
Introduction of a such will decrease execution and might reduce ROM footprint as well.
API above should have immediate API in flash_map module.
For 1s step I propose to implement a generic implementation using current internal flash interface (flash_api_read) which will be used for all vendors who won't implement dedicated callback (so initially for all). This implies requirement for API for get the erase_value.

cc @lemrey @pizi-nordic @carlescufi

This would need to be optional, however, as not all flash devices can be directly read.


chore: update go-jose to v4

Summary by CodeRabbit

New Features

Updated Go version to 1.21 across multiple modules, enhancing performance and compatibility.
Added a new dependency on darvaza.org/core v0.9.9 for improved functionality.

Bug Fixes

Resolved issues related to redundant checks for pull requests, streamlining the workflow process.

Documentation

Updated comments in code to reflect changes in library versions for clarity.

Chores

Revised workflow configuration for better branch handling and job execution.

this sorts #15 and #18


Issue using

Operation System: macOS Mojave - Version 10.14.2 (18C54)
Beaker version: v0.8.4
Code Reproduction:
https://codepen.io/anon/pen/ZPKQQm
Expected Behavior:
To select multiple files using the input element (with type="file") and one or more of the following attributes: multiple, webkitdirectory, mozdirectory, multiple, or allowdirs.
Actual Behavior:
1.) Only 1 file is selected when selecting a directory with multiple sub-files.
2.) The 1 selected file is empty when attempting to read from it using the FileReader API.
The code reproduction link behaves consistently, and as expected, on Chrome, Firefox and Safari. Beaker Browser is where the code doesn't work as expected.
Thank you for your help.

Sorry for the delayed response! Thanks for filing, I'll try to get a fix out soon.

This seems to be an Electron bug. If you run this pen with electron-quick-start the same happens. Also, this problem is reported here: https://github.com/electron/electron/issues/749


Optimize resize and where operators

We should add a test for find_where as well.

So I tested this with unet but the contiguous operators are still there.

unet

@pfultz2 So where is the unet model?

So where is the unet model?

https://github.com/mvermeulen/rocm-migraphx/blob/master/saved-models/onnx-misc/taau_low_res_downsample_d2s_for_infer_time_fp16_opset11.onnx
You need to run with --input-dim @inputs 1 1920 1080 8.

So where is the unet model?

https://github.com/mvermeulen/rocm-migraphx/blob/master/saved-models/onnx-misc/taau_low_res_downsample_d2s_for_infer_time_fp16_opset11.onnx
You need to run with --input-dim @inputs 1 1920 1080 8.

Looks like the matcher in the comments:
    auto matcher() const
    {
        return match::pointwise(
            match::nargs(2),
            match::either_arg(0, 1)(
                match::name("reshape")(match::args(match::name("contiguous").bind("cont")))
                    .bind("rsp"),
                match::used_once()));
    }

cannot match the pointwise(reshape(contigusou))), but the following works:
        return match::name("reshape")(match::args(match::name("contiguous").bind("cont")),
                                      match::used_once(),
                                      match::any_of[match::outputs()](match::pointwise()));

To me, both should work, not sure what is the reason for that.

So where is the unet model?

https://github.com/mvermeulen/rocm-migraphx/blob/master/saved-models/onnx-misc/taau_low_res_downsample_d2s_for_infer_time_fp16_opset11.onnx
You need to run with --input-dim @inputs 1 1920 1080 8.

Looks like the matcher in the comments:
    auto matcher() const
    {
        return match::pointwise(
            match::nargs(2),
            match::either_arg(0, 1)(
                match::name("reshape")(match::args(match::name("contiguous").bind("cont")))
                    .bind("rsp"),
                match::used_once()));
    }

cannot match the pointwise(reshape(contigusou))), but the following works:
        return match::name("reshape")(match::args(match::name("contiguous").bind("cont")),
                                      match::used_once(),
                                      match::any_of[match::outputs()](match::pointwise()));

To me, both should work (actually, both work for the unit test reshape_cont), not sure what is the reason for that.

To me, both should work(actually, both work for the unit test reshape_cont), not sure what is the reason for that.

The used_once is applied to the argument that is not a reshape input. The either_arg matcher takes two inputs for either argument. It should be match::any:
    auto matcher() const
    {
        return match::pointwise(
            match::nargs(2),
            match::either_arg(0, 1)(
                match::name("reshape")(match::args(match::name("contiguous").bind("cont")))
                    .bind("rsp"),
                match::any()));
    }

I also dont think used_once is necessary here either. This fixes the issue in unet.

To me, both should work(actually, both work for the unit test reshape_cont), not sure what is the reason for that.

The used_once is applied to the argument that is not a reshape input. The either_arg matcher takes two inputs for either argument. It should be match::any:
    auto matcher() const
    {
        return match::pointwise(
            match::nargs(2),
            match::either_arg(0, 1)(
                match::name("reshape")(match::args(match::name("contiguous").bind("cont")))
                    .bind("rsp"),
                match::any()));
    }

I also dont think used_once is necessary here either. This fixes the issue in unet.

Thanks. fixed it

@pfultz2 Can you review this PR when you get a chance?

Can you review this PR when you get a chance?

Did you see my comments above?


[PE-D][Tester A] Can add different person with the same phone number as an entry already saved in Address book

Application accepts adding a person with a different name but with the same phone number. Perhaps there could be a constraint where there cannot be 2 entries where the person is different but the phone number is the same since diff people should have diff phone numbers.

Labels: type.FunctionalityBug severity.Medium
original: JordanChua/ped#1

Similar to #78 people living in the same home may have the same number if they don't have handphones. Or if they share a phone for whatever reason?


Start script for omxwebgui

I believe many users would find it convenient to launch omxwebgui with a single command.
Here I propose such a script named omxwebgui to be located in the omxwebgui/ folder:
#!/bin/sh

php -S <IP_ADDRESS>:4321 -t $(readlink -f "$0" | xargs dirname) >> /var/log/omxwebgui.log 2>&1 &

It needs to be made executable with
chmod +x omxwebgui.
Could this be added to the repository?

Well, already thought about that earlier here https://github.com/brainfoolong/omxwebgui-v2/issues/22
Turned out to not be that easy because of the crap dbus daemon which will be started implicitly by omxplayer but cannot be killed as easy as the omxplayer.
I stopped working on that because lack of time.


Workaround render issues in hotbar, when Immediately Fast is being used

Hi,
I recently noticed, that when I held a map with a count > 1 in my hotbar, it would sometimes refuse to render or starting to render weirdly, at the location, the item counter would go.

It seemed in general to fail, when I held more than 2 maps in my hotbar. Often just not rendering at all there.
I tried to fix it with changing the Mixins Inject-Location from TAIL to HEAD, but that just seemed to change the behavior a bit.
I then tried a wild guess, that Immediately Fast was causing it and was right. Without Immediately Fast, rendering was fine.
I'm not entirely sure if this Workaround is the best way, or if, perhaps, this is an issue more suited towards Immediately Fast.
But this fixes that issue, by essentially interrupting Immediately Fast's batching, each time a Mapart texture is rendered.

Hey Thank you for putting in the effort for this PR. However I will likely have to reject this one. The proposed solution seems way too hacky and jank. I talked with RK (author of immediately fast) and they provided good insight on how to properly fix this. I will try that out in the upcoming days.

No worries. As said, I also considered it not really proper anyway. Best to properly integrate with the mod, instead of kinda circumventing it. :+1:
Most of the code I already had lying around for my own mod anyway. So it was a pretty quick workaround to me anyway.

This issue is now fixed in ImmediatelyFast. If you install the latest version of ImmediatelyFast this mod should work fine with it


Blank ReCaptcha Screen

Hey @fjcaetano, it seems like our app's sign up flow broke and users are reporting a blank screen when ReCaptcha is triggered. I saw that a PR was merged that seems to have fixed it: https://github.com/fjcaetano/ReCaptcha/pull/129
Any chance a release can be put up today? We need to submit to Apple asap. Thanks so much 🙏🏼

I don't have an estimate of when this will be released as a new version. In the meantime, you should be able to update the lib with these changes by pointing to the commit dc2b4414e707fb55db7f075c1456f10fda43191c, currently at the head of the master branch. Let me know if that doesn't work.
I'll leave this issue open, in case anyone else stumble upon this issue while it isn't released.

my apps also having the same issue

my apps also having the same issue

We are still sometimes having the issue even after pointing to the fix.
Anyone else still has the issue post fix ?

I don't have the capacity right now to work on this issue with the priority it deserves. PRs are more than welcome and I'll do my best to review and merge them as soon as I can.

Replace the following code in ReCaptchaWebViewManager
lazy var webView: WKWebView = {
let mainScreen = UIScreen.main.bounds
let webview = WKWebView(
frame: CGRect(x: 0, y: 0, width: mainScreen.width, height: mainScreen.height),
configuration: self.buildConfiguration()
)
webview.accessibilityIdentifier = "webview"
webview.accessibilityTraits = UIAccessibilityTraits.link
webview.isHidden = true
    return webview
}()

Try this. It worked for me

@venupendota please upload sample project in your GitHub repository

Hi,
When I click on button first time getting recaptcha executing at the same time when I click on second time didn't get any response .
How to resolve this ? anyone help me.
Thanks

It's fixed in master @fjcaetano, I think a release is just needed. Most development teams prefer to use an official release over pointing to a master branch to be safer.

I have the same issue, this white screen is the WebView that stays completely blank. It's quite unpleasant because the plugin doesn't have an error callback, so it remains on this white screen indefinitely. This problem is intermittent, it doesn't happen all the time... Any updates on this issue?

Replace the following code in ReCaptchaWebViewManager
lazy var webView: WKWebView = { let mainScreen = UIScreen.main.bounds let webview = WKWebView( frame: CGRect(x: 0, y: 0, width: mainScreen.width, height: mainScreen.height),  configuration: self.buildConfiguration() ) webview.accessibilityIdentifier = "webview" webview.accessibilityTraits = UIAccessibilityTraits.link webview.isHidden = true return webview }()
Try this. It worked for me

Just took a few moments to take a closer look at this. After checking out the master branch and thoroughly testing the example project, I cannot reproduce the intermittent issue and validation worked seamlessly every time.
It seems to me that the proposed fix of setting the webview's width and height the same values as the screen seems incorrect, since it now covers the whole content. On top of that, if the validation happens automatically, without the need of solving the captcha, the webview never gets removed.
I'd like to get a raise of hands here to assess if the code currently on the master branch is good enough for a release, or if there's more work needed. Could you please react to this message with the following emojis:

🐛 - if you're still having issues pointing to dc2b441 on the master branch
🚀-  if you're not seeing these intermittent issues and think master is worthy of a release

Thank you!

Good afternoon Same problem. White screen. This is due to the fact that the captcha content has become small for some reason. It is on the captcha screen, but takes the size from this code
lazy var webView: WKWebView = {
        let webview = WKWebView(
            frame: CGRect(x: 0, y: 0, width: 1, height: 1),
            configuration: self.buildConfiguration()
        )
        webview.accessibilityIdentifier = "webview"
        webview.accessibilityTraits = UIAccessibilityTraits.link
        webview.isHidden = true

        return webview
    }()

If you change width and height
The captcha is displayed in the size we need and expands its content

@beshich have you tried setting up the size that works for you using the configureWebView method?

@beshich have you tried setting up the size that works for you using the configureWebView method?

Yes, I have, in method configureWebView I set the dimensions, print the size in the debug, everything is correct.
recaptcha?.configureWebView { [weak self] webview in
    webview.frame = self?.view.bounds ?? CGRect.zero
}

The webview is stretched and appears on the screen properly, but the content itself with the captcha remains as small as in the video.
The solution that helps at the moment is to change the size of the webview inside ReCaptchaWebViewManager. I haven't found the reason for this behavior yet

Hi,
When I click on first time on button am getting
At the same time when I press second time am getting like this
JS LOG: executing and didn't get string . please help me on this issue?

Hi everyone,
recaptcha properly not working in iPad, recaptcha selectable left side only and right side not selectable.
please help me.

"Hello everyone, good evening!
I performed a 'git clone' on this project's master branch and noticed there's a fix for the white screen issue in the HTML file, specifically in this section:
<style>
  .g-recaptcha div {
    width: 100% !important;
    height: 100% !important;
  }
</style>
</head>
<body id="body" class="g-recaptcha">

This code forces the Recaptcha iframe to resize along with the WebView.
I also have an alternative solution for those who can't directly pull from the master branch. You can add the following JavaScript at the plugin's startup (for version 1.6.0):
     self.recaptcha!.configureWebView { [weak self] webview in
        let size = self!.webViewContainer!.frame;
        webview.frame = size
        webview.tag = 10
        webview.isOpaque = false;
        webview.backgroundColor = UIColor.clear

          webview.evaluateJavaScript(
    """
document.body.background = 'none';

var iframe = document.getElementsByTagName("iframe")[2];

iframe.style.display = 'block';
iframe.style.margin = '0 auto';
iframe.style.background = 'none';
iframe.style.border = '1px solid rgb(204, 204, 204)';

iframe.parentElement.style.width = '100%';
iframe.parentElement.style.height = '100%';
iframe.parentElement.style.background = 'none';
iframe.parentElement.style.border = 'none';
    """);
}

I am facing this exact same issue on version 1.5.0. The weird thing is that the library suddenly stopped working some weeks ago and showing a blank page exactly like @beshich shown in his video, while it was working fine before. Has anyone any idea why that happened?

@AmerigoM , can be something in Iframe of recaptcha.
try put this in your code...
js code in method evaluateJavaScript, it will try adjust html dynamically
     self.recaptcha!.configureWebView { [weak self] webview in
        let size = self!.webViewContainer!.frame;
        webview.frame = size
        webview.tag = 10
        webview.isOpaque = false;
        webview.backgroundColor = UIColor.clear

          webview.evaluateJavaScript(
    """
document.body.background = 'none';

var iframe = document.getElementsByTagName("iframe")[2];

iframe.style.display = 'block';
iframe.style.margin = '0 auto';
iframe.style.background = 'none';
iframe.style.border = '1px solid rgb(204, 204, 204)';

iframe.parentElement.style.width = '100%';
iframe.parentElement.style.height = '100%';
iframe.parentElement.style.background = 'none';
iframe.parentElement.style.border = 'none';
    """);
}

@Lipe1994 this was helpful and fixed the issue. Thanks.

If you don’t want to wait for changes to be uploaded to the main branch on iOS, you can specify the master branch in the subfile.
pod 'ReCaptcha', :git => 'https://github.com/fjcaetano/ReCaptcha.git', :branch => 'master'
Will work properly

@fjcaetano Could you please release this fix in a new version?


Drop support for old Geth revert format, detect stack limit

The old format is not returned by Geth since the Berlin fork. A few subgraphs have hit the stack limit reached error, which is deterministic.

Still getting this, do I have to redeploy the subgraph or wait for the indexer to update their side?


Cstim240/create first year execs about

Target Branch: master
Title: Create first year execs 'about'
Description: Add first year execs photos and descriptions
Reviewers:

brianrahadi (Brian)

Looks good on my side! You can run all this locally. JSON is well-formatted and image has good proportion.
I might need to have another issue to compress all the exec images so it's at most 500KBs, but this is fine for now


Online REPL

It would be great to have an online REPL to show the capabilities of the compiler. Maybe @tpetricek can help here?

Repl is already online

I put together a minimal reusable editor with autocomplete based on Suave that you could adapt if you wanted to have F# editor with more features :). It is still work in progress, but the first sketch is here: https://github.com/tpetricek/fsharp-web-editors-demo
(It has a Paket dependency on https://github.com/tpetricek/fsharp-web-editors, which contains code of the server & client side components, but the demo just references those - the idea is they should be very reusable and easy to embed.)

Great, thanks for that! I'll reopen the issue so I remember to work on this again :)

Closing this for now, it will be revisited later.


Add ADR for consolidating moves and MTOs tables

This ADR proposes consolidating moves and move_task_orders into one
moves table based on the assumption that a move can only have one MTO
at a given time. We would like input from everyone to make sure our
assumptions are valid.
Description
Explain a little about the changes at a high level.
Reviewer Notes
Is there anything you would like reviewers to give additional scrutiny?
Setup
Add any steps or code to run in this section to help others prepare to run your code:
echo "Code goes here"

Code Review Verification Steps

[ ] Code follows the guidelines for Logging
[ ] The requirements listed in
Querying the Database Safely
have been satisfied.
Any new migrations/schema changes:

[ ] Follow our guidelines for zero-downtime deploys (see Zero-Downtime Deploys)
[ ] Have been communicated to #g-database
[ ] Secure migrations have been tested following the instructions in our docs

[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, IE, Edge).
[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] User facing changes have been reviewed by design.
[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change
this article explains more about the approach used.

Screenshots
If this PR makes visible UI changes, an image of the finished UI can help reviewers and casual
observers understand the context of the changes. A before image is optional and
can be included at the submitter's discretion.
Consider using an animated image to show an entire workflow instead of using multiple images. You may want to use GIPHY CAPTURE for this! 📸
Please frame screenshots to show enough useful context but also highlight the affected regions.

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 9b786d3e91ad4dbfbc6be3bd75efb2c00bd6956c

This looks good to me. I would possibly add a note indicating that there will be future work to reconcile the ppm fields on this table (ppm_type and ppm_estimated_weight) when we reenter conversations with the prime.


Markdown fixes in Readme.md

You have to put whitespaces between # and string so that your titles can be interpreted as such by the markdown interpreter :+1:

Thanks for the fix.


Feature/disable post job button if info missing

Description
Disable company "post a job" button if the company hasn't filled in their profile and uploaded a logo.
What does this PR do?
Adds a required fields array to the store, and uses a filter function in AccountInteriorLayout to determine if all fields are present. If not, it disables the post a job button, and adds instruction text underneath the disabled button.
This is a work in progress! I'm expecting a lot of feedback and to have to change a lot! I am new to the codebase and next/react/tailwind. Not sure that the store is the appropriate place for the required fields array, and if we could somehow make it so that it's not hard coded.
Also what do we think of a hover tooltip with the help text on the disabled button?
Related Tickets and Documents
https://github.com/drewclem/protege/issues/297
What gif best describes this PR or how it makes you feel? (optional)

@clandau Is this good to merge?

@drewclem sure if you think so. you may want to confirm that the required field array has everything needed.

@clandau Ok, I just saw it was marked as a draft and wasn't sure if you had more planned for it. Didn't want to preemptively merge

This looks great @clandau !
I massaged the requiredCompanyFields a little bit- but other than that it works perfectly!