Add Transactions Details [Rough Draft]

User Story
As a user, I want to be able to take an action on the Transactions screen #440 to see the details of a transaction. I should be able to see what stage the transaction is in, take actions to move the transaction to the next stage if appropriate, and start a dispute. I should be able to send and receive chat messages specific to that transaction.
Functional Requirements
The Transactions Details screen is shown as a modal, and has several sections.

[ ] If the close button is clicked, the modal will close.
[ ] If the "return to orders" link is clicked, the modal will close.
QUESTION: does the link string change based on the transactions tab (sales, purchases, cases)?

Other Party Section

[ ] The other party (buyer or seller. The moderator sees the buyer) information is shown in this section at the top left.
[ ] The other party's avatar, name, location, and any social links are shown.
NOTE: this probably requires a profile call, and may be asynchronous (loads after the rest of the screen).

Menu

[ ] The menu has several links.
[ ] Summary Link: shows the summary of the order.
[ ] Discussion Link: shows the discussion. The number of unread discussion messages is shown in a bubble next to the link.
[ ] Contract Link: shows the contract in JSON format.
[ ] Below the links is an action button. If the viewing user can take an action based on the stage of the transaction, the button is shown with the appropriate text. Clicking it will trigger the action.

Summary
The summary shows the details of the order.

[ ] The order ID is shown.
[ ] There is a copy link next to the order ID. Clicking it will copy the order ID to the clip board, and show the standard "copied" notifier.
QUESTION: should clicking on any part of the order ID also copy it?
[ ] There is a progress bar that shows which stage the order is in.
QUESTION: the stages shown don't match how stages work on the server. This will need to be discussed. When would an order be in the "Accepted" state? It appears Accepted and Paid should swap places, and Accepted would only apply to offline orders?
QUESTION: how is an order in dispute shown? It appears the bar should show whatever the last stage is, but that data will not be available.
[ ] As each stage of the transaction is completed, a section for that stage is added to the summary, in order of most recent at the top to oldest at the bottom.
QUESTION: there doesn't seem to be a pay screen to allow a buyer to fund an order they haven't paid for. We will need that to be designed. Ideally it can reuse the payment module created for the purchase screen (note: we'll need to make sure that piece is easily reusable).
[ ] There is a details section. It shows information about the transaction.

The name of the listing.
The quantity.
The variants.
The ship to information if it's a physical listing. The address has a copy button, and a link to open the address in Google maps (in an external browser).
The coupons if any (there can be any number).
The moderator if any (there can be a max of 1).

Summary Stages

[ ] PENDING (0): This was an offline order, the seller must accept it.

Actions (Seller): Accept, Reject
Actions (Buyer): Cancel
Stage: None
Data: ?

[ ] CONFIRMED (1): The vendor has accepted the offline order, the buyer must pay for it.

Actions (Buyer): Pay for the order
Stage: none
Data: ?
QUESTION: if an offline order is funded already, does accepting it move it directly to fulfill, or does it start at status 2?

[ ] FUNDED (2): The buyer has funded the order.

Actions (Seller): Fulfill or Refund. Fulfill opens the fulfillment screen. Refund shows a confirmation tooltip with a cancel and a confirm button.
Actions (Buyer): Dispute?
Stage: Paid
Data: Amount paid, number of confirmations
QUESTION: can a partial payment amount be shown here? What happens if it is?

[ ] FULFILLED (3): The seller has sent the listing.

Actions (Buyer): Complete or Dispute. When completing the order, the user can submit a review. When disputing an order, the user can send a message (DESIGN NEEDED).
Stage: Fulfilled
Data: If physical, Shipping information (if any), Tracking Number (if any) with a copy link, Note if any sent.  if digital url and password (if any). If the transaction is a service, there is no form to fill out.

[ ] COMPLETE (4): The buyer has completed the order.

Actions: none
Data: show the review, if one was left. If no review was left DESIGN NEEDED

[ ] DISPUTED (5): The buyer or seller has disputed the order.

Actions (Moderator): Resolve Dispute
Data: the name of the party disputing the order, and the dispute message (truncated?).

[ ] DECIDED (6): The moderator has issued a decision on the dispute.

Actions (Buyer and Seller): Accept Payment. This will show a confirmation tooltip.
Data: The payout to each party, including to the moderator, and the moderator resolution message.

[ ] RESOLVED (7)

Actions (Buyer): Complete (the buyer can leave a review at this point, the same as the normal complete action).
Data: DESIGN NEEDED

[ ] REFUNDED (8): The seller has refunded the buyer's funds.

Actions: none
Data: the amount refunded, the number of confirmations
NOTE: when the status is refunded, the progress bar changes to show only Paid and Refunded.

[ ] CANCELED (9): the buyer canceled the offline order before it was accepted.

Actions: none
Data: none
NOTE: when the status is refunded, the progress bar changes to show DESIGN NEEDED.

[ ] REJECTED (10): the seller rejected the offline order.

Actions: none
Data: none
NOTE: when the status is refunded, the progress bar changes to show DESIGN NEEDED.

Fulfill Order Section
The Fulfill section is shown when the seller clicks the fulfill button.

[ ] If the transaction is a physical transaction, there are fields for shipping carrier (required), tracking, and note. The note is a text area.
[ ] if the transaction is a digital transaction, there are fields for the url (required), password, and comment.
[ ] there is a button to add emojis to the comment.
**QUESTION: It appears that the back end physical delivery and digital delivery objects are missing comment attributes.

Leave Review Section
The Leave Review section appears when the buyer leaves a review.

[ ] There is a text area where the buyer can enter plain text. It has a max character limit of 3000.
[ ] There are star buttons. They default to 5. The user can click on a star to set the rating to that number (ie: clicking on star 3 sets the rating to 3). The rating should grey out non-selected stars. The text showing the rating (x/x) should update when the stars are selected.
[ ] There is a submit button. It will submit the review.
[ ] After the review has been submitted the Show Review section should be shown.
[ ] There is a checkbox. which is checked by default. If it is checked when the submit button is clicked, the user's name will be saved to the review.

Show Review Section
After a review has been left, It should be shown to both the buyer and seller. Ideally, it will use the same code as the review in the listing screen.
Discussion Section
The discussion section shows chat messages associated with this transaction (they are not shown anywhere else).

[ ] The functionality should be the same as the sidebar chat, but the layout is wider.

Resolve Dispute Section
The moderator can view this section when they are resolving a dispute.

[ ] The total funds in the transaction are shown.
[ ] An input for the amount paid to the buyer.
[ ] An input for the amount paid to the seller.
[ ] The amount paid to the moderator (calculated automatically from their fee settings).
[ ] A text area for a comment.
[ ] A submit button. Clicking it will show a confirmation tooltip.

Contract Section
This section shows the JSON for the contract.

[ ] ideally it will be formatted nicely, and have other functionality like code folding, but only if this can be done easily (such as with a JSON formatting library).

There is a progress bar that shows which stage the order is in.
QUESTION: the stages shown don't match how stages work on the server. This will need to be discussed. When would an order be in the "Accepted" state? It appears Accepted and Paid should swap places, and Accepted would only apply to offline orders?

This leads to a UX issue that I brought up with Chris a while back. If i'm purchasing from an offline vendor, the progress bar won't display that I paid for the order until after the vendor has come online and accepted it.
As a buyer, that's extremly confusing. I already paid, yet the progress bar does not show that I paid. Did my payment go through? Why doesn't the progress bar display paid? Do I need to pay again?

There is a copy link next to the order ID. Clicking it will copy the order ID to the clip board, and show the standard "copied" notifier.
QUESTION: should clicking on any part of the order ID also copy it?

Yeah, definitely.

QUESTION: how is an order in dispute shown? It appears the bar should show whatever the last stage is, but that data will not be available.

I intentionally left dispute steps out of the progress bar to reduce scope. Notice the progress bar displays that it is between fulfilled and complete. Also, directly below the progress bar I output a "Dispute started" section. I felt this was probably good enough for the time being.

QUESTION: there doesn't seem to be a pay screen to allow a buyer to fund an order they haven't paid for. We will need that to be designed. Ideally it can reuse the payment module created for the purchase screen (note: we'll need to make sure that piece is easily reusable).

Ah, yeah I missed that. I'll work on designs for it.

QUESTION: if an offline order is funded already, does accepting it move it directly to fulfill, or does it start at status 2?

@cpacia will need to weigh in here. I think once the vendor comes online and accepts the order, it would advance to status 2.

CANCELED (9): the buyer canceled the offline order before it was accepted.
Actions: none
Data: none
NOTE: when the status is refunded, the progress bar changes to show DESIGN NEEDED.

Is this the same thing as triggering a refund? I believe the only difference it is buyer initiated instead of vendor initiated?
If that's right, the design would look exactly like below, but we'll probably want to replace "Refunded" with "Canceled" in the progress bar and directly below the progress bar.

This raises another UX concern... If paid is NOT the first step in the progress bar, what would the progress bar look in this scenario? I don't think we could display a progress bar in this scenario because canceled would be the only step that is triggered. 🤔
That seems very strange. Maybe I'm missing something?

COMPLETE (4): The buyer has completed the order.
Actions: none
Data: show the review, if one was left. If no review was left DESIGN NEEDED

Hey @jjeffryes what design is missing here? I believe this should cover it?

This leads to a UX issue that I brought up with Chris a while back. If i'm purchasing from an offline vendor, the progress bar won't display that I paid for the order until after the vendor has come online and accepted it.

As a buyer, that's extremly confusing. I already paid, yet the progress bar does not show that I paid. Did my payment go through? Why doesn't the progress bar display paid? Do I need to pay again?

I agree. We'd have to show some kind of state on the progress bar that makes it clear things are waiting for the vendor to come on line, but it looks to me like there's no way to tell if the buyer has paid or not.

I intentionally left dispute steps out of the progress bar to reduce scope. Notice the progress bar displays that it is between fulfilled and complete. Also, directly below the progress bar I output a "Dispute started" section. I felt this was probably good enough for the time being.

The issue is you can start a dispute after the Paid or Fulfilled step. Once the dispute is started, the only data we have is that the status is Disputed, there's no way to tell what step things were in before that, so the progress bar would be blank, or it would need a "Disputed" state.
That also raises the question of whether we could show the step by step data below the progress bar when a transaction is disputed. Maybe we could extrapolate which steps had been completed before the dispute by looking at what other data is available? (ie: if shipping data is available, it must have been fulfilled).

If that's right, the design would look exactly like below, but we'll probably want to replace "Refunded" with "Canceled" in the progress bar and directly below the progress bar.

That sounds right to me.

This raises another UX concern... If paid is NOT the first step in the progress bar, what would the progress bar look in this scenario? I don't think we could display a progress bar in this scenario because canceled would be the only step that is triggered. 🤔

I think the progress bar would have to have steps like this:
Step 1: Pending (this covers PENDING and CONFIRMED if the order was offline, and Unpaid if the order was online or offline but isn't paid for yet)
Step 2: Paid (FUNDED)
Step 3: Fulfilled (FULFILLED)
Step 4: Complete (COMPLETE)
Then if an order is cancelled, rejected, or refunded, the progress bar only has 2 steps, Pending and whatever the final step is (cancelled etc.).

Hey @jjeffryes what design is missing here? I believe this should cover it?

If the order was completed, but no review was left, what is displayed below the words "Order Complete"?
Or is a review always left? It seems like the API always expects a review, so if that's automatic there's no issue here.

RESOLVED (7)
Actions (Buyer): Complete (the buyer can leave a review at this point, the same as the normal complete action).
Data: DESIGN NEEDED

There are a few perspective to consider at this step.
Vendor perspective (does not leave order feedback, but has ability to accept payout)

Buyer perspective (accepts payout and leaves feedback at the same time)

REJECTED (10): the seller rejected the offline order.
Actions: none
Data: none
NOTE: when the status is refunded, the progress bar changes to show DESIGN NEEDED.

I believe this design will work here:

I agree. We'd have to show some kind of state on the progress bar that makes it clear things are waiting for the vendor to come on line, but it looks to me like there's no way to tell if the buyer has paid or not.

Well, that raised another potential issue. It sounds like orders I paid for where the vendor happens to be offline will display within the "Purchasing" filter instead of "Ready to process" filter. Is that right? If so, that's going to be very difficult to explain to users.

The issue is you can start a dispute after the Paid or Fulfilled step. Once the dispute is started, the only data we have is that the status is Disputed, there's no way to tell what step things were in before that, so the progress bar would be blank, or it would need a "Disputed" state.

That also raises the question of whether we could show the step by step data below the progress bar when a transaction is disputed. Maybe we could extrapolate which steps had been completed before the dispute by looking at what other data is available? (ie: if shipping data is available, it must have been fulfilled).
Interesting. Yeah that doesn't sound ideal. Hopefully there's a work around, otherwise that's going to be a pretty strange experience.

I think the progress bar would have to have steps like this:

Step 1: Pending (this covers PENDING and CONFIRMED if the order was offline, and Unpaid if the order was online or offline but isn't paid for yet)
Step 2: Paid (FUNDED)
Step 3: Fulfilled (FULFILLED)
Step 4: Complete (COMPLETE)

Then if an order is cancelled, rejected, or refunded, the progress bar only has 2 steps, Pending and whatever the final step is (cancelled etc.).

Ok let's break this down further. Progress bar for the following scenarios:
1. Unpaid order for an online vendor (I hit buy now, but never funded the order)
✔ Pending > ✔ Accepted > ✖ Paid > ✖ Fulfilled > ✖ Complete
2. Unpaid order for an offline vendor (I hit buy now, but never funded the order)
✔ Pending > ✖ Accepted > ✖ Paid > ✖ Fulfilled > ✖ Complete
3. Paid order for an offline vendor (I hit buy now and funded the order)
✔ Pending > ✖ Accepted > ✖ Paid > ✖ Fulfilled > ✖ Complete
I  paid for this, but the progress bar will not reflect that, so yeah a unpaid order is identical to a paid order with an offline vendor. This leads back to my UX concerns
4. Paid for an offline order that I canceled (I hit buy, funded the order and then cancel)
✔ Pending > ✔  Canceled
5. Unpaid order that I canceled (I hit buy and then canceled the order)
✔ Pending > ✔  Canceled
The progress bar would be identical to the scenario above with a payment.
6. Paid for an order that was refunded by the vendor (I hit buy now, funded the order and then refunded)
✔ Pending > ✔ Accepted > ✔ Paid > ✔  Refunded
There's definitely some weirdness in scenario 3, but the rest are probably fine.

I just realized I'm missing designs for what Opening a dispute looks like too. I'll add that to my todo list too.

For the progress bar, I think we could leave the Accepted step off, since the only time it would matter is if the order was offline and not paid for yet (if it's paid for, it goes directly to Paid when the seller accepts it). In that case I think showing it as pending and not yet Paid would be enough.
The buyer would have an action button telling them the next step is to fund the order in that situation.

This has been completed.


fix(db): fix unwind stage in receipt queries

Notes to Reviewer

As a reviewer, please pay particular attention to the following areas when reviewing this PR and tick the above boxes after you have completed the steps.
Database Changes

[ ] Review database queries for correctness/conciseness.

I swear we have fixed this several times already.


Palindrome Bug: 0_0 (: /-\ :) 0-0 should NOT be true. Test is incorrect.

Challenge Bonfire: Check for Palindromes has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:43.0) Gecko/20100101 Firefox/43.0.
There's a clear bug with the very last Palindrome, as visually it's clear to see 0_0 (: /-\ :) 0-0 should NOT return true. The beginning shows "0_0 (", the end is ")0-0" while Visually, these appear SYMMETRICAL but it's not a palindrome.
Attached are two screenshots. The first one is the results of my test, and second is everything displayed in the console. I made it easy by identifying each string forward and backwards and you can see the last one clearly doesn't match, as I stated above.

My code:
function palindrome(str) {
  // Good luck!
  var checkArray = [];
  var word = str.toLowerCase();
  var newWord = word.replace(/[, .]/g, "");
  var reversed = newWord.split('').reverse().join('');
  console.log("Forward: " + newWord);
  console.log("Backwards: " + reversed);
  if(newWord === reversed) {
    return true;
  }
    return false;
  }

Nope, you're wrong.  The test is correct.
The instructions are to remove all non-alphanumeric characters, IE: anything which is NOT 0-9 and a-z.  If you do so, you'll end up with 0000, which is a palindrome, for the purposes of the exercise.
You should revisit your regex, which is not nearly expansive enough.  I suggest http://regexr.com for reference and testing.
Finally - I encourage you to take your problems to the HelpBonfires channel where you will get excellent support by knowledgeable people who would have much more quickly told you the same thing.
Regards and Happy Coding!

Thanks! I must have missed the part about deleting ALL non-alphanumeric characters. I got it correct now. I still think the question is somewhat misleading though, you technically COULD check with characters in it and you would say "is this string the same backwards as it is forwards?" and the answer would have been NO for the last one.
It seems like cheating to remove symbols THEN check. My impression was that a palindrome was what I just described, the same in both directions, WITHOUT removing anything.
Weird, but I understand your point too, it's a matter of following the instructions.


Typing python code in a script

Description
What steps will reproduce the problem?

No exact guide to reproduce this problem. Just running development version on macOS using PIP.
Traceback
  File "/Users/jeroendevries/Programming/env_spyder/spyder/spyder/plugins/editor/widgets/codeeditor.py", line 1252, in handle_hover_response
    at_point=self._last_point)
  File "/Users/jeroendevries/Programming/env_spyder/spyder/spyder/widgets/mixins.py", line 634, in show_hint
    inspect_word=inspect_word)
  File "/Users/jeroendevries/Programming/env_spyder/spyder/spyder/widgets/mixins.py", line 474, in _check_signature_and_format
    name_plus_char = inspect_word + open_func_char
TypeError: can only concatenate tuple (not "str") to tuple

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/__init__.py", line 1025, in emit
    msg = self.format(record)
  File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/__init__.py", line 869, in format
    return fmt.format(record)
  File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/__init__.py", line 608, in format
    record.message = record.getMessage()
  File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/__init__.py", line 369, in getMessage
    msg = msg % self.args
ValueError: incomplete format
Call stack:
  File "bootstrap.py", line 186, in <module>
    start.main()
  File "/Users/jeroendevries/Programming/env_spyder/spyder/spyder/app/start.py", line 204, in main
    mainwindow.main()
  File "/Users/jeroendevries/Programming/env_spyder/spyder/spyder/app/mainwindow.py", line 3716, in main
    mainwindow = run_spyder(app, options, args)
  File "/Users/jeroendevries/Programming/env_spyder/spyder/spyder/app/mainwindow.py", line 3598, in run_spyder
    app.exec_()
  File "/Users/jeroendevries/Programming/env_spyder/spyder/spyder/plugins/completion/plugin.py", line 241, in <lambda>
    lambda: self.receive_timeout(req_id))
  File "/Users/jeroendevries/Programming/env_spyder/spyder/spyder/plugins/completion/plugin.py", line 134, in receive_timeout
    self._maybe_send_locked(req_id)
  File "/Users/jeroendevries/Programming/env_spyder/spyder/spyder/plugins/completion/plugin.py", line 161, in _maybe_send_locked
    send()
  File "/Users/jeroendevries/Programming/env_spyder/spyder/spyder/plugins/completion/plugin.py", line 143, in send
    self.gather_and_send(request_responses)
  File "/Users/jeroendevries/Programming/env_spyder/spyder/spyder/plugins/completion/plugin.py", line 212, in gather_and_send
    response_instance.handle_response(req_type, responses)
  File "/Users/jeroendevries/Programming/env_spyder/spyder/spyder/plugins/editor/widgets/codeeditor.py", line 928, in handle_response
    handler(params)
  File "/Users/jeroendevries/Programming/env_spyder/spyder/spyder/plugins/editor/widgets/codeeditor.py", line 1259, in handle_hover_response
    self.log_lsp_handle_errors("Error when processing hover")
  File "/Users/jeroendevries/Programming/env_spyder/spyder/spyder/plugins/editor/widgets/codeeditor.py", line 959, in log_lsp_handle_errors
    logger.error('%', 1, stack_info=True)
Message: '%'
Arguments: (1,)
WARNING:spyder.widgets.github.backend:Failed to send bug report on Github. response={'code': 401, 'json': {'message': 'Bad credentials', 'documentation_url': 'https://developer.github.com/v3'}}

Versions

Spyder version: 4.0.0.dev0 51a29bb3a
Python version: 3.7.4
Qt version: 5.12.4
PyQt5 version: 5.12.3
Operating System: Darwin 19.0.0

Dependencies
cloudpickle >=0.5.0          :  1.2.2 (OK)
pygments >=2.0               :  2.4.2 (OK)
qtconsole >=4.6.0            :  4.6.0 (OK)
nbconvert >=4.0              :  5.6.0 (OK)
sphinx >=0.6.6               :  2.2.0 (OK)
pylint >=0.25                :  2.4.3 (OK)
psutil >=0.3                 :  5.6.3 (OK)
qtawesome >=0.5.7            :  0.6.0 (OK)
qtpy >=1.5.0                 :  1.9.0 (OK)
pickleshare >=0.4            :  0.7.5 (OK)
zmq >=17                     :  18.1.0 (OK)
chardet >=2.0.0              :  3.0.4 (OK)
numpydoc >=0.6.0             :  0.9.1 (OK)
spyder_kernels >=1.8.0;<2.0.0:  1.8.0 (OK)
qdarkstyle >=2.7             :  2.7 (OK)
atomicwrites >=1.2.0         :  1.3.0 (OK)
diff_match_patch >=20181111  :  20181111 (OK)
intervaltree                 :  None (OK)
watchdog                     :  None (OK)
keyring                      :  None (OK)
pexpect >=4.4.0              :  4.7.0 (OK)
pympler                      :  None (OK)
sympy >=0.7.3                :  None (NOK)
cython >=0.21                :  None (NOK)
IPython >=4.0                :  7.8.0 (OK)
matplotlib >=2.0.0           :  None (NOK)
pandas >=0.13.1              :  None (NOK)
numpy >=1.7                  :  None (NOK)
scipy >=0.17.0               :  None (NOK)
pyls >=0.31.0;<0.32.0        :  0.31.1 (OK)
applaunchservices >=0.1.7    :  0.2.1 (OK)

Duplicate of #10752

It'll be fixed in our next release candidate.


Support muilti-snippet injections

This will allow embedders to specify multiple files in order to enable automatic inclusion, excerpts, and testing alongside the embeds.
An example:
```dart:start-dartpad:height-380px:ga_id-incorrect_usage:file-main.dart
main() {}
```

```dart:file-solution.dart
solution() {}
```

```dart:file-test.dart
test() {}
```

```plaintext:end-dartpad:file-hint.txt
This is a hint.
```

A live example of how this would work for a codelab: https://github.com/dart-lang/site-www/pull/3995
Works towards https://github.com/dart-lang/site-www/issues/2465
\cc @RedBrogdon @domesticmouse @khanhnwin

This looks like a massive improvement over the current state of play!

You can see an example of this in play in https://github.com/dart-lang/site-www/pull/3995, staged at https://dart-dev--pr3995-experimental-multi-s-gzqmdb8d.web.app/codelabs/async-await

Thanks @parlough!! This looks great!


[PT - Porto, PORTUGAL]  Farfetch  -  iOS Developer || Desenvolvedor iOS

We are looking for iOS Developers to work at our office at Porto, Portugal!
Who we are
Farfetch is unlike anything in the world of fashion and technology. Our mission: to revolutionize the way the world shops. To do it, we need innovators. People who challenge convention and dare to dream. We’ve gone from a start-up to a billion dollar business. But we’re not done yet. Far from it. Be bold. Be brilliant. Together, we can be extraordinary!
We have rapidly grown into a truly global company since our launch in 2008 and we’re continuing to grow. Our family now includes partner boutiques and brands across Europe, North and South America and Asia; we demonstrate our ‘Think Global’ value in everything we do.
We are a global team of over 1,500 people and have offices based in London, New York, L.A., Porto, Guimaraes, Lisbon, Sao Paulo, Shanghai, Moscow, Hong Kong & Tokyo.
We are a company with an entrepreneurial spirit and innovative culture. We are positive, passionate and live our values: Be Human, Be Brilliant, Todos Juntos, Be Revolutionary, Think Global and Amaze Customers day to day.
The Team
Mobile Cluster is an awesome part of the Farfetch Tech Team. We have a strong tech culture and we are leading by our values: love technology, be proud of our work and learn and teach every day.
The Role
You will be responsible for the end-to-end development of iOS applications driving the long-term mobile strategy planned for Farfetch. This role consists in writing top notch Objective-C/Swift code and resort to battle hardened design patterns. It isn't just about writing iOS apps, you'll also have the chance to get your hands dirty with UI Automation, fully automated build pipelines and API integration testing with node.js.
What You’ll do

Build a cutting edge iOS app that will bring the joy of fashion to millions of users.
Contribute for cross team development of common libraries.
Help define best practices on iOS development and contribute for a share and learn driven environment.
Unwavering commitment to Continuous Integration and Continuous Deployment.
Work closely with other Product Development teams to improve consistency and timing of releases.
Create prototypes of new ideas and explore new technologies on the forefront of mobile technology.

Who You Are

A iOS developer with at least one released app (solo or as a team member).
A developer with working experience in Objective-C and Swift (if you don't have experience one of them, don't worry - just be keen to learn).
An engineer with knowledge of REST API architecture that understands client side development as well as the API backend stack.
A person eager to get nerdy about memory management, UI layout/rendering and UI/network performance.
A team player oriented in detail.
An energetic, creative and fun to work human being.
Proficient in English, both written and spoken

We love hearing from you and want you to be as ambitious as we are, but before applying please ask yourself the following…

Is this role a good match for me and my long term goals? We want to really know why you have chosen this career.
Do I have all the skills and experience required for this role? Be realistic. We will only consider applications that demonstrate relevant skills or the potential to match the role requirements.
Spell Check. As simple as it sounds make sure your application is to the highest standard. You will be surprised at how many applications we receive with spelling mistakes on them.

We are committed to equality of opportunity for all staff, applications from individuals are encouraged regardless of age, disability, sex, gender reassignment, sexual orientation, pregnancy and maternity, race, religion or belief and marriage and civil partnerships
APPLY HERE: https://app.jobvite.com/j?aj=o1XZ4fwL&s=gitcocoabr

Vaga ainda está aberta

Vaga ainda está aberta?


fix: remove 13-week CoJ signing horizon

Note, as discussed, the new-starter logic will be implemented separately as TIS21-5914
TIS21-5890
TIS21-5739

As a side-issue, do we need to reset our SonarCloud analysis for the component somehow? It seems to pick up issues in lots of code untouched by the PR. And/or do we need to attend to the recommendations? 😬

Was wondering if sonarcloud just gets its own code updated and feels reinvigorated to have another pass over old stuff too? Probably not a bad idea if true.
The failure is a dead simple fix - which could done on the next PR (promise 😁).
See you've merged it anyway. That's the spirit, lad!


Multicluster Gateways config broken + Testing Gap

https://raw.githubusercontent.com/istio/istio/master/install/kubernetes/helm/istio/example-values/values-istio-multicluster-gateways.yaml
  - "[[ valueOrDefault .DeploymentMeta.Namespace \"default\" ]].global"
will no longer work with the new injector. Should be a simple change from [[ to {{.
But the fact this went unnoticed makes it clear that we do not have any testing for this.

This actually isn't that straightforward, if we just change to {{ then it won't actually get templated; this relied on the double templating aspect. We can probably just add a function to funcmap that templates again though so we can have dynamic values again.

Fixed in #13801


Registry tool: Representation for dependencies in a registry.

As API registries grow, we expect that users will want them to include generated artifacts that are computed automatically in response to additions and changes to registry entries. For example, a linter might be run on every new spec revision, and a summarization of linting results for a collection of APIs might be updated after each new linting run.
This could be supported with custom applications that watch pubsub events and trigger actions. However, since these "dispatchers" might share a lot of common code, it could be useful to have a generic dispatcher that could be configured with a representation of artifact dependencies. Without suggesting how a dispatcher might be implemented, here is a sketch of a possible dependency description:
# API Registry Manifest
#
# This file describes the desired state of the API Registry for a project.
# It is attached (serialized) to the project using the "manifest" artifact id.
# e.g. projects/myproject/artifacts/manifest with MIME Type
#    "application/octet-stream;type=google.cloud.apihub.applications.v1alpha1.Manifest"
#

# The artifacts field lists artifacts that we want to exist in the API Registry.
# Each artifact has dependencies and a worker action that generates it.
artifacts:

# A project-level summary of registry contents.
# No owning resource is specified,
# so this defaults to belong to the project that owns this manifest.
# In the declarations below, "$0" is the matching resource, the owner of the artifact.
- artifact: summary
  dependencies:
  - resource: apis/-
  - resource: apis/-/versions/-
  - resource: apis/-/versions/-/specs/-
  action: "compute summary $0"

# Spectral linter results for OpenAPI specs.
# The filter field limits this to specs with OpenAPI mime types.
- artifact: lint-spectral
  resource: apis/-/versions/-/specs/-
  filter: "mime_type.contains('openapi')"
  dependencies:
  - resource: $0
  action: "compute lint $0 --linter spectral"

# Spectral lintstats summaries for OpenAPI specs.
# "lintstats-" artifacts depend on and summarize "lint-" artifacts.
- artifact: lintstats-spectral
  resource: apis/-/versions/-/specs/-
  filter: "mime_type.contains('openapi')"
  dependencies:
  - artifact: lint-spectral
    resource: $0
  action: "compute lintstats $0 --linter spectral"

# Project-level Spectral lintstats.
# These depend on "lintstats-spectral" artifacts of individual specs.
- artifact: lintstats-spectral
  dependencies:
  - artifact: lintstats-spectral
    resource: apis/-/versions/-/specs/-
    filter: "mime_type.contains('openapi')"
  action: "compute lintstats $0 --linter spectral"

# AIP linter results for Protobuf specs.
# These are essentially just like the Spectral linter results (above).
- artifact: lint-aip
  resource: apis/-/versions/-/specs/-
  filter: "mime_type.contains('protobuf')"
  dependencies:
  - resource: $0
  action: "compute lint $0 --linter aip"

# Vocabulary of an API spec.
- artifact: vocabulary
  resource: apis/-/versions/-/specs/-
  dependencies:
  - resource: $0
  action: "compute vocabulary $0"

# Vocabulary of APIs with a particular owner.
- artifact: vocabulary-google
  dependencies:
  - resource: apis/-/versions/-/specs/-
    filter: "owner == 'google'"
  action: "compute vocabulary union $0 --filter \"owner == 'google'\""

- artifact: vocabulary-google-common
  dependencies:
  - resource: apis/-/versions/-/specs/-
    filter: "owner == 'google'"
  action: "compute vocabulary intersection $0 --filter \"owner == 'google'\""

# The labellings field lists resources with automatically-computed labels.
labellings:

# Compute labels indicating the owner, spec formats, and
# the number of specs and versions of the API
- resource: apis/-
  dependencies:
  - resource: $0/versions/-
  - resource: $0/versions/-/specs/-
  action: "compute labels $0"

# Workers can be specified alongside actions.
# If a worker is unspecified, the default worker should be used and must be in the list below.
workers:
  # The default worker runs the registry tool.
  - name: default
    host: myworker.mydomain.com
    path: /registry

Comments?

This has been addressed by the Manifest files used by the controller (example).
@shrutiparabgoogle if you think this is covered, please close this - or add anything else that you think is needed. (Could we link to documentation of the manifest format?)

The experimental repo contains a doc which runs through a demo of the controller: https://github.com/apigee/registry-experimental/tree/main/deployments/controller/demo#readme


yandex.tld

Yandex Maps can use many TLDs, not only .com:
yandex.az
yandex.by
yandex.co.il
yandex.com
yandex.com.am
yandex.com.ge
yandex.com.tr
yandex.ee
yandex.fr
yandex.kg
yandex.kz
yandex.lt
yandex.lv
yandex.md
yandex.net
yandex.ru
yandex.tj
yandex.tm
yandex.ua
yandex.uz

(simple) please, add coords recognition on any tld.
(complex) it would be great, to add option - on what domain I want to open Yandex Maps. Domains are not equal:

you can be logged in on .ru, but not on .com
different view of territorial disputes
different default language

Release v0.4.4 accomplishes the first point - it now supports input from any yandex.* domain.
For the second point, I agree that's a good idea. I need to think about how to sensibly achieve it.

I can confirm - (1) works. Thanks!
(and two more services? :)


fix(rbac): add additional validation for permission policies

Adds validation to the policy section of permission policies. The only allowed terms that can be used are create, read, update, delete, and our RBAC specific keyword use.
Closes #996.

@AndrienkoAleksandr yes, was thinking about this as well. If it is ok to release new version, I would go with your proposed changes.


fix(deps): update terraform-module

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/cos/ibm (source)
module
patch
8.11.10 -> 8.11.12

terraform-ibm-modules/event-notifications/ibm (source)
module
patch
1.10.13 -> 1.10.16

terraform-ibm-modules/scc-workload-protection/ibm (source)
module
minor
1.3.1 -> 1.4.0

Release Notes

terraform-ibm-modules/terraform-ibm-cos (terraform-ibm-modules/cos/ibm)
v8.11.12
Compare Source
Bug Fixes

deps: update required_provider to latest for the deployable architecture solution (#722) (aee9044)

v8.11.11
Compare Source
Bug Fixes

deps: update terraform-module (#724) (acbf18c)

terraform-ibm-modules/terraform-ibm-event-notifications (terraform-ibm-modules/event-notifications/ibm)
v1.10.16
Compare Source
Bug Fixes

deps: update terraform terraform-ibm-modules/cos/ibm to v8.11.12 (#296) (1ddbae0)

v1.10.15
Compare Source
Bug Fixes

deps: update terraform terraform-ibm-modules/cos/ibm to v8.11.11 (#294) (0813ae5)

v1.10.14
Compare Source
Bug Fixes

deps: update terraform ibm to latest for the deployable architecture solution (#291) (f18b1ae)

terraform-ibm-modules/terraform-ibm-scc-workload-protection (terraform-ibm-modules/scc-workload-protection/ibm)
v1.4.0
Compare Source
Features

added support to create CBR rules using new input cbr_rules (#142) (2bc63c8)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

:tada: This PR is included in version 1.8.10 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Allow start attribute

Hey all! I'm wanting to use this project to generate a physical edition of my book but found that I cannot support the start attribute of the <ol> tag:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol#start
I found this missing from this list:
https://github.com/lesjoursfr/html-to-epub/blob/main/src/index.ts#L29
I'd love to add it to the defaults, but maybe I could also add a configuration to overwrite this list with a default also exported so you can add to it (or replace it entirely).
What do y'all think?

Hi. Thank you for the PR. I really appreciate your work on this project.
I don't mind adding the start attribute to the default list.
I just need to check before if the generated book will pass EPUBCheck for both v2 & v3 formats.

Au contraire - I deeply appreciate your organization's work in maintaining this package.
So this is interesting, start attribute doesn't seem to throw errors, but there appears to be some problems with the cover in the validator:
↳  java -jar C:\Users\crutchcorn\Downloads\epubcheck-5.1.0\epubcheck-5.1.0\epubcheck.jar .\framework-field-guide-fundamentals.epub
Validating using EPUB version 3.3 rules.
ERROR(OPF-074): ./framework-field-guide-fundamentals.epub/OEBPS/content.opf(38,81): Package resource "OEBPS/cover.xhtml" is declared in several manifest item.
ERROR(OPF-014): ./framework-field-guide-fundamentals.epub/OEBPS/cover.xhtml(-1,-1): The property "svg" should be declared in the OPF file.
ERROR(OPF-014): ./framework-field-guide-fundamentals.epub/OEBPS/cover.xhtml(-1,-1): The property "svg" should be declared in the OPF file.

Check finished with errors
Messages: 0 fatals / 3 errors / 0 warnings / 0 infos

EPUBCheck completed

Let me see if I can make some PRs to correct this

https://github.com/lesjoursfr/html-to-epub/pull/143
Fixes for the aforementioned issues here


Git commit signing Permission denied

Hi there,
I use the Git commit signing module and every time my workspace starts, I get this error:
sh: 26: cannot create /home/User/.ssh/git-commit-signing/coder.pub: Permission denied
sh: 30: cannot create /home/User/.ssh/git-commit-signing/coder: Permission denied

It seems the keys have the following permission:
-r-------- 1 User User 388 Feb  7 23:33 coder
-r-------- 1 User User 82 Feb  7 23:33 coder.pub

Any idea how to fix this? Thanks!

cc: @phorcys420

hey, it seems that I didn't write the script properly because it sets 400 (-r--------) permission to both of the keys when they should be more permissive.
I will publish a fix ASAP (expect a week of delay at most).


string literal formData breaks submissions collection

Submitting a simple string as formData an error occurs. The data still gets stored inside the ezforms_submission table. But it is also not fetchable via the frontend. I needed to manually delete the effected submissions.

Could you share the request your sending to ezforms/reproduction steps?

Was unable to replicate with this post
fetch("http://localhost:1337/api/ezforms/submit", {
  "headers": {
    "accept": "application/json, text/plain, */*",
    "accept-language": "en-US,en;q=0.9,ja;q=0.8",
    "cache-control": "no-cache",
    "content-type": "application/json",
    "pragma": "no-cache",
    "sec-ch-ua": "\"Not_A Brand\";v=\"99\", \"Google Chrome\";v=\"109\", \"Chromium\";v=\"109\"",
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": "\"Windows\"",
    "sec-fetch-dest": "empty",
    "sec-fetch-mode": "cors",
    "sec-fetch-site": "same-site"
  },
  "referrer": "http://localhost:3000/",
  "referrerPolicy": "strict-origin-when-cross-origin",
  "body": "{\"formName\":\"test\",\"formData\":\"`test`\"}",
  "method": "POST",
  "mode": "cors",
  "credentials": "omit"
});

https://github.com/strapi/strapi/issues/15496 this is an issue with Strapi

@pmig this will be fixed in 4.6.2 :)


Empty post cover won't show default blog cover

I'm using vision theme, when a post's cover is an empty string, no default cover is shown for that post in the list view.
Code in List.cshtml is:

var img = string.IsNullOrEmpty(item.Cover) ? Model.Blog.Cover : item.Cover;

Technology

Microsoft

		<a<EMAIL_ADDRESS>			<img src="~/@img" <EMAIL_ADDRESS>
		@if (item.Featured)
				{
		 Featured
				}

Because Model.Blog.Cover already has a / (slash) at the beginning, the populated post cover will be have ~// at the beginning, and image will not be located.
Also I noticed that new version of Blogifier won't produce posts with empty cover any more because default value will be saved when I publish a blog. This only influence old blogs when cover might be empty.
So this is a small issue.

No longer relevant after moving to Angular themes


Adds connection issue workarounds and link in readme.

Hey guys,
This lists some workarounds I've seen for users impacted by #824, #938  and #606. I'm happy to update them based on better solutions.
Also, would it make sense to update the verbiage in this page to include warnings and formally listing known issues? Lots of people are upgrading and seeing connection issues.
Thanks,
Michael

LGTM

cc @SvenDowideit

LGTM - thou this should be solved by 1.7.1, if its not :)


Case-Insensitive Configuration Keys

We should probably lower-case all configuration keys before applying handle_configuration.

Why?

It would allow people to move to different loaders without having to modify case (When environment "standard" would be uppercase, but file is lower)
Should we really allow these to be handled differently?

def handle_configuration(key = "API_KEY", key)
def handle_configuration(key = "api_key", key)

Closed by #13


set an explicit GOPATH for jobs that run e2e tests

as of kubernetes 1.6.x, kubernetes/hack/e2e.go is a wrapper that
ends up go get'ing another tool kubetest... it needs a GOPATH
to install to
use a GOPATH local to each job invocation rather than sharing
ref #162

https://pipelet.kubeme.io/job/spiffxp-k2-e2e-aws-k8s-conformance/1/console - manually edited job ran ok with v1.6.x
would like to confirm it still works with v1.5.x

this works with v1.5.x but the manual job I was using got blown away by the most recent kraken-ci-jobs PR merge, you can either take my word for it or I can repro again

Would it also be useful to add PATH=$GOPATH/bin:$PATH?

I guess I was too slow.

fair point! kubetest appears happy as is, but if we start running things like gofmt or golint we'll probably need that


fixed issue#1937 - [merged]

In GitLab by @liyanq528 on Jan 2, 2020, 01:50
Merges issue#1937 -> dev

In GitLab by @wknet123 on Jan 2, 2020, 07:17
merged

In GitLab by @wknet123 on Jan 2, 2020, 07:17
mentioned in commit bc70af2fbdca665d77e6958399ae8afa9b1abfb9


[ERROR] Invalid control character in URL

Firs time experiencing this issue via gobuster so any help is appreciated. Just scanning webcontent via raft-dir wordlist (from SecList) on a target (ie example.com). Running MacOS Catalina and latest gobuster version.
$  gobuster dir -w $HOME/util/other/SecLists/Discovery/Web-Content/raft-medium-directories-lowercase.txt -u example.com/admin/ --wildcard -s 200
===============================================================
Gobuster v3.0.1
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@_FireFart_)
===============================================================
[+] Url:            http://example.com/admin/
[+] Threads:        10
[+] Wordlist:       /Users/zz/util/other/SecLists/Discovery/Web-Content/raft-medium-directories-lowercase.txt
[+] Status codes:   200
[+] User Agent:     gobuster/3.0.1
[+] Timeout:        10s
===============================================================
2020/05/01 14:42:43 Starting gobuster
===============================================================
[ERROR] 2020/05/01 14:45:21 [!] parse http://example.com/admin/error_log: net/url: invalid control character in URL
===============================================================
2020/05/01 14:46:05 Finished
===============================================================

I suspect this is due to 503 response from the target (w/ verbose (-v) option). Would be nice if latest response (status) code is given in the stderr. WDYT?

I am getting the same errors.

I can't reproduct this on the latest version of gobuter. Can you please have a look at the wordlist on the error_log line with hexdump if there are any control characters included in the wordlist?
You can also try it with the latest version of gobuster over here: https://github.com/OJ/gobuster/tree/v3.1-cleaned

Forget my last comment, could reproduce it. The error_log value contains an invalid control character:
error\x1f_log
Gobuster sends the wordlist as is so you can modify the input based on your needs. You can pipe the wordlist to gobuster and remove the control character with sed

this error is now ignored on the dev branch and the bruteforce continues

Much appreciated @firefart. Looking forward for merge w/in next releases


[Question] Data tables typescript

Hello @vitalets , great work with playwright-bdd 💯
One question concering datatables, as we are using a lot of parameters in our scenarious.
Do we have some examples on data tables?
E.g.
Given I am in registration page
And I provide below information during registeration
  | Fields        | Inputs                                  |
  | firstName     | Tom                                    |
  | lastName      | Jerry                                   |
  |  phone        | 123456789                           |
  |  email        |<EMAIL_ADDRESS>|

  Scenario Outline: Create <NAME>
    Given a user called "<NAME>"  with email address "<EMAIL>" who lives in "<CITY>" and was born "<DOB>"

    Examples:
      | NAME            | EMAIL           | CITY          | DOB        |
      | Vivienne Senger |<EMAIL_ADDRESS>| Everett       | 1965-11-09 |
      | Mallory Wisoky  |<EMAIL_ADDRESS>| Boynton Beach | 1927-12-09 |

Hi @NikkTod , yes both DataTables and DocStrings are supported. Here are example step definitions:

DataTables
DocStrings


Sentence BLEU yields non-intuitive scores

I noticed this when I intended to replace nltk's sentence bleu with sacreBLEU in some of my code. We should probably just return 0 if there are no matches at all.

In [55]: sacrebleu.sentence_bleu('yes', ['no'], smooth_method='exp')
Out[55]: BLEU = 50.00 50.0/0.0/0.0/0.0 (BP = 1.000 ratio = 1.000 hyp_len = 1 ref_len = 1)

In [56]: sacrebleu.sentence_bleu('yes', ['no'], smooth_method='floor')
Out[56]: BLEU = 10.00 10.0/0.0/0.0/0.0 (BP = 1.000 ratio = 1.000 hyp_len = 1 ref_len = 1)

In [46]: hyp
Out[46]: 'this is a cat'

In [47]: ref
Out[47]: 'okay thanks'

In [48]: sacrebleu.sentence_bleu(hyp, [ref], smooth_method='floor')
Out[48]: BLEU = 4.52 2.5/3.3/5.0/10.0 (BP = 1.000 ratio = 2.000 hyp_len = 4 ref_len = 2)

In [49]: sacrebleu.sentence_bleu(hyp, [ref], smooth_method='exp')
Out[49]: BLEU = 7.99 12.5/8.3/6.2/6.2 (BP = 1.000 ratio = 2.000 hyp_len = 4 ref_len = 2)

% nltk
In [50]: sentence_bleu([ref.split()], hyp.split(), smoothing_function=SmoothingFunction().method3)
Out[50]: 0

In [51]: sentence_bleu([ref.split()], hyp.split(), smoothing_function=SmoothingFunction().method2)
Out[51]: 0

There's actually a test that assumes non-zero scores will be produced although there are no matches between hyps & refs:
test_raw_bleu_cases = [
    (["this is a test", "another test"], [["ref1", "ref2"]], 0.003799178428257963),
   ...

Do we all agree that this is a bug that should be fixed @mjpost @martinpopel ?

I agree that if there is no match even within unigrams, BLEU should be zero, otherwise it is not intuitive.


Possible bug with non-go pruning

I've created a sample project to demonstrate this issue. The project has a Gopkg.toml file that clearly states not to prune "non-go" files for the specified package yet after the dep ensure some C files are missing thus go build does not work: https://github.com/tapir/dep-prune-test
To reproduce
go get -d github.com/tapir/dep-prune-test
cd $GOPATH/src/github.com/tapir/dep-prune-test
dep ensure
go build

What version of dep are you using (dep version)?
0.4.1
What dep command did you run?
dep ensure
go build
What did you expect to see?
Expected that the project built correctly
What did you see instead?
test/vendor/github.com/ethereum/go-ethereum/crypto/secp256k1
vendor/github.com/ethereum/go-ethereum/crypto/secp256k1/curve.go:43:10: fatal error: libsecp256k1/include/secp256k1.h: No such file or directory #include "libsecp256k1/include/secp256k1.h"

I came across the same issue and determined that for go-ethereum I had to specify:
[[prune.project]]
    name = "github.com/ethereum/go-ethereum"
    non-go = false
    unused-packages = false

specifically, setting unused-packages = false for pruning option for go-ethereum. There must be an edge case throwing off dep for pruning unused packages that use a C library

Sorry i didn't respond at the time, but yes, @pkieltyka has the expected resolution. Glad you folks got this sorted!


Bookmark reaction bookmark

Relevant Issues
Closes #341 and #338
Description
Can't belive the 338 just needed
        if target_message is None:
            target_message = ctx.message

otherwise i tried to include it previously with a bug related update
but it needed some planning and improvement so we doing it now
it basically create a temp list of the people who alredy got the bookmark ,
when someone react with pin emoji it check if user in that list if not it sends the
bookmark to prevent spamming. and after 5 minutes it removes all the reaction.
Reasoning
People requested this
Also it provide less keyboard typing to do same thing which can be done like this
Screenshots
Now bookmarking from other will add a field , to remember the context of the message and reason to see what was happening when this message got bookmarked.

Did you:

[x] Join the Python Discord Community?
[x] If dependencies have been added or updated, run pipenv lock?
[x] Lint your code (pipenv run lint)?
[x] Set the PR to allow edits from contributors?

Uhm, I can't quite make out what this PR is about from the PR description. Could you maybe add a general description of the PR and a listing of the features it adds?

Uhm, I can't quite make out what this PR is about from the PR description. Could you maybe add a general description of the PR and a listing of the features it adds?

I guess it's better now

I think your Closes line is formatted incorrectly - you have the following:

Closes #341 and #338

I think it should be:

Closes #341, closes #338

Waiting for reviews ;-;

I am well aware that my lint is failing . I am gonna debug it right now . as i now got some time after whole this time.

Since this PR is such a mess now and so much outdated , i am closing this and following it up with a new PR cuz i can't fork a new until this fork is deleted.


Environment Variable Not Injected Into Application Function

Environment information
System:
  OS: macOS 15.0.1
  CPU: (10) arm64 Apple M1 Max
  Memory: 164.13 MB / 64.00 GB
  Shell: /bin/zsh
Binaries:
  Node: 21.7.3 - /opt/homebrew/bin/node
  Yarn: 1.22.22 - /opt/homebrew/bin/yarn
  npm: 10.5.0 - /opt/homebrew/bin/npm
  pnpm: 9.12.3 - /opt/homebrew/bin/pnpm
NPM Packages:
  @aws-amplify/auth-construct: 1.4.0
  @aws-amplify/backend: 1.6.0
  @aws-amplify/backend-auth: 1.3.0
  @aws-amplify/backend-cli: 1.4.0
  @aws-amplify/backend-data: 1.1.6
  @aws-amplify/backend-deployer: 1.1.6
  @aws-amplify/backend-function: 1.7.3
  @aws-amplify/backend-output-schemas: 1.4.0
  @aws-amplify/backend-output-storage: 1.1.3
  @aws-amplify/backend-secret: 1.1.4
  @aws-amplify/backend-storage: 1.2.2
  @aws-amplify/cli-core: 1.2.0
  @aws-amplify/client-config: 1.5.1
  @aws-amplify/deployed-backend-client: 1.4.2
  @aws-amplify/form-generator: 1.0.3
  @aws-amplify/model-generator: 1.0.8
  @aws-amplify/platform-core: 1.1.0
  @aws-amplify/plugin-types: 1.3.1
  @aws-amplify/sandbox: 1.2.4
  @aws-amplify/schema-generator: 1.2.5
  aws-amplify: 6.8.0
  aws-cdk: 2.165.0
  aws-cdk-lib: 2.165.0
  typescript: 5.6.3
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!                                                                            !!
!!  Node 21 has reached end-of-life on 2024-06-01 and is not supported.       !!
!!  Please upgrade to a supported node version as soon as possible.           !!
!!                                                                            !!
!!  This software is currently running on node v21.7.3.                       !!
!!
AWS environment variables:
  AWS_STS_REGIONAL_ENDPOINTS = regional
  AWS_NODEJS_CONNECTION_REUSE_ENABLED = 1
  AWS_SDK_LOAD_CONFIG = 1
No CDK environment variables

Describe the bug
AWS Amplify by default do not inject environment variables into serverless function, even though environment variable have been explicitly specified, in contrast compared to vercel. This leads to application error and challenging to debug. Environment variable has to also be explicitly specified in amplify.yml build file to bypass this bug.

Reproduction steps
Step1: process.env.ENV is called in code.
Step2: Specify environment variable in amplify.
Step3: Application failed and log shows no environment specified.

Vercel doesn't have this bug FYI.

Hi @Leectan 👋 , thanks for reaching out. You can make the environment variables accessible to the Next.js compute runtime by adding them in an environment file .env.production that the framework recognizes. You will need to modify the Amplify build specification file amplify.yml as follows:
version: 1
frontend:
  phases:
    preBuild:
      commands:
        - npm ci
    build:
      commands:
        - env | grep -e EMAIL -e HOST -e PASS -e PORT >> .env.production
        - npm run build
  artifacts:
    baseDirectory: .next
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*
      - .next/cache/**/*

Docs: https://docs.aws.amazon.com/amplify/latest/userguide/ssr-environment-variables.html

Closing this thread as we have shared the documentation to make the env variables accessible in the compute runtime.


Exclude option for CssUrlReplacer

Code review required - also if a back port is available. (to wicket-7.x)

The changes look good!
But isn't it better to use includes instead?
It is much easier to control what you want in then what you want out. For example when I add some third party library I'll have to investigate what CSS resources there are and exclude them.
It'd be much easier to list only the ones I'd like to process.

Okay - I will turn around that logic.

If I turn around that logic I will break the behavior, because you have to provide those settings and if users upgrading to the new wicket version and don't have set those css file names the functionality is broken.

The performance increased way better with the new regex. We should discuss changes in the jira ticket. I made a suggestion there.

Master: https://github.com/apache/wicket/commit/274696a92128129a571b53014369d4527e27d9dc
Wicket-7.x: https://github.com/apache/wicket/commit/9b8579f078335f84357b8247401a081c9f5dc9a3
Wicket-6.x: https://github.com/apache/wicket/commit/9f6c69f8f4ccf9fc21bf42092fc88f16e35f1535


[ Newsletter ] Create newsletter module

Read before picking:

About modules - explaination, structure, motivations behind modules
Refactoring plan for modules

Create module containing all logic connected to newsletter.
For now obviously we need to provide this methods but feel free to propose more if you think something is missing.

subscribe(email)
account/unsubscribe(email)
account/isSubscribed(email)

The task includes rewriting all core components and pages parts that are using this functions to use core modules.
TODO:

[ ] create functions listed above
[ ] documment them
[ ] write unit tests
[ ] change core pages and core components that are using this features to use module

Feel free to reach me on slack for details

@nuovecode I started work with this and I see you commited some changes. I will finish this taks

OOk @qiqqq go on 👍


Calling junitdiff diff w/o two log files causes several warnings

$junitdiff diff

JUnitDiff (%version%) by Andreas Heigl and contributors

PHP Warning:  DOMDocument::load(): Empty string supplied as input in /Users/stolt/.composer/vendor/org_heigl/junitdiff/src/Command/DiffCommand.php on line 129

Warning: DOMDocument::load(): Empty string supplied as input in /Users/stolt/.composer/vendor/org_heigl/junitdiff/src/Command/DiffCommand.php on line 129
PHP Warning:  DOMDocument::load(): Empty string supplied as input in /Users/stolt/.composer/vendor/org_heigl/junitdiff/src/Command/DiffCommand.php on line 129

Warning: DOMDocument::load(): Empty string supplied as input in /Users/stolt/.composer/vendor/org_heigl/junitdiff/src/Command/DiffCommand.php on line 129
PHP Warning:  ksort() expects parameter 1 to be array, null given in /Users/stolt/.composer/vendor/org_heigl/junitdiff/src/Command/DiffCommand.php on line 121

Warning: ksort() expects parameter 1 to be array, null given in /Users/stolt/.composer/vendor/org_heigl/junitdiff/src/Command/DiffCommand.php on line 121
PHP Warning:  Invalid argument supplied for foreach() in /Users/stolt/.composer/vendor/org_heigl/junitdiff/src/Command/DiffCommand.php on line 61

I also would prolly rename the command to compare to avoid the diff duplication.

That is a pretty good idea! I'll give it a thought ;)


Add ASU

https://www.asu.edu.eg/

@walidsafaa First stage of verification passed, official domain for Ain Shams University is std.alsun.asu.edu.eg as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@walidsafaa Thank you for your patience while waiting for a review and processing your request. Pull request merged.
Please start requesting the licenses in about an hour, to let the changes to propagate through our system.


Lots of crashes with latest version

Describe the bug
Since I upgrade to latest version (before I was on commit cc339ad1c3f5cb316ed0b03fc49ba2e78d4d8eb2) I noticed lots of websites started crashing ("Aw, Snap!" "Something went wrong when displaying this webpage").
To Reproduce
Steps to reproduce the behavior:

Go to https://support.upwork.com/hc/en-us/articles/211063188-Create-a-100-Complete-Freelancer-Profile#
Wait for the tab to crash

Environment (please complete the following information):

OS/Platform and version: Fedora 30 ppc64le
ungoogled-chromium version: 77.0.3865.90

Hello,
I've been getting them too, I have yet to build in debug mode and investigate.
In the future, please report issues over at Gitlab: https://gitlab.com/lle-bout/ungoogled-chromium/issues
Thanks.

Seems to be an upstream issue: https://github.com/Eloston/ungoogled-chromium/issues/828

I tried to pull latest version from your repo (including the chromium-77-std-string.patch patch), but unfortunately it still crashes.

I tried to pull latest version from your repo (including the chromium-77-std-string.patch patch), but unfortunately it still crashes.

Yes it still does. Yet to be fixed.

FYI: This is stuck on debug builds not working as-is with the patches.
Current errors are: https://gitlab.com/lle-bout/ungoogled-chromium/-/jobs/307311582

@darkbasic https://github.com/leo-lb/ungoogled-chromium/commit/3fec216b18457cd86c821ec7150f802f768f250f fixes the crashes at the cost of some media decoding features until the actual bug is tracked down by either me, @shawnanastasio or any other volunteer

Thanks, it worked!

Unfortunately, even if it's way better than before, it still crashes on some websites (ex Facebook).

Unfortunately, even if it's way better than before, it still crashes on some websites (ex Facebook).

@shawnanastasio If that's of any interest to you. ^

@vddvss traced the issue back to an LLVM codegen bug introduced with commit https://github.com/llvm/llvm-project/commit/14689910737b8e63a0ef7caf407d13aa68bbd6f8.
Until a proper solution is found, it's possible to hack llvm to work around the issue:
index f9871b23314..f71273fb31f 100644
--- a/clang/lib/CodeGen/CGBuiltin.cpp
+++ b/clang/lib/CodeGen/CGBuiltin.cpp
@@ -1768,7 +1768,7 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID,
     case Builtin::BI__builtin_lrint:
     case Builtin::BI__builtin_lrintf:
     case Builtin::BI__builtin_lrintl:
-      return RValue::get(emitFPToIntRoundBuiltin(*this, E, Intrinsic::lrint));
+      //return RValue::get(emitFPToIntRoundBuiltin(*this, E, Intrinsic::lrint));

     case Builtin::BIllrint:
     case Builtin::BIllrintf:
@@ -1776,7 +1776,7 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID,
     case Builtin::BI__builtin_llrint:
     case Builtin::BI__builtin_llrintf:
     case Builtin::BI__builtin_llrintl:
-      return RValue::get(emitFPToIntRoundBuiltin(*this, E, Intrinsic::llrint));
+      //return RValue::get(emitFPToIntRoundBuiltin(*this, E, Intrinsic::llrint));

     default:
       break;

fixed using the workaround https://gist.github.com/vddvss/cc5a5e1f5c9b274ea3a85fce343e36a8 at https://github.com/leo-lb/ungoogled-chromium/commit/76053f8e8e2af9306f489be2487032c5f46ab925 rather than the above LLVM patch

my earlier workaround should have prevented ff_rfps_add_frame from being called entirely, but @darkbasic was still running into crashes, so I think it's possible that the codegen issue affects multiple parts of the code base

@shawnanastasio waiting for build and will test ASAP!

Seems to work fine with the latest build, though, I wont close this until either Chromium teams bump LLVM revision with one that includes the fixes or I get to include the patch into this repo and apply it to the LLVM tree that we clone.

https://github.com/leo-lb/ungoogled-chromium/commit/783d1eb3fba9674cc01eb034b6470d4482934688


Hint at expected/default input for confirm command

I just spent an embarrassing amount of time absent-mindedly hitting the return key to agree to running my orator migrations and wondering why they wouldn't have any effect.
Maybe hinting at what kind of input is expected would be helpful?
cleo

laravel artisan

Well, this is not strictly a cleo issue since the formatting of the question is left to the developer.
But from you example I see it's the migrate command of orator, so you can report it there if you want.

Thanks for the quick response.
I guess primarily I was wondering if there could be a way to let the user know that actual text input is expected. Maybe adding such a "waiting for input"-character (>) as artisan does?

This is up to the developer to implement it not cleo. To make a comparison cleo is the Symfony Console Component that artisan is using and the developers of Laravel chose to display questions this way but cleo will not enforce it.
Like I said, to me it's more an issue you should report on the orator repository.

Your comparison is also how I understood it and the SymfonyQuestionHelper  "enhances" the question with such yes/no and default input information by default.
But as you mentioned that cleo does not want to enforce this, I'll close the ticket :)

Thanks for pointing the line in the SymfonyQuestionHelper.
What I meant is more related to the carriage return and the > character.
I reopen this since hinting at what is expected for a confirmation question would be a good addition.

Version 0.6.0 has just been released with this issue addressed.


Modularize (that bad boy)

Removes server dependency on core in lieu of new library, models that both core and server share
Before
$ cat Cargo.lock | grep package | wc -l
    251
$ cargo build
   Compiling lockbook-server v0.1.0 (/Users/raayanpillai/dev/lockbook/server)
    Finished dev [unoptimized + debuginfo] target(s) in 2m 03s

After
$ cat Cargo.lock | grep package | wc -l
    203
$ cargo build
   Compiling lockbook-server v0.1.0 (/Users/raayanpillai/dev/lockbook/server)
    Finished dev [unoptimized + debuginfo] target(s) in 1m 37s

Will re-open after #350 lands


no need assert(...)?

I'm browsing the memcached source code.  In crawler.c, I doubt there is no need to assert(search->slabs_clsid == 0). Because the memory is freed, and may be reused by other thread. Am I wrong ?
static void crawler_expired_eval(crawler_module_t *cm, item *search, uint32_t hv, int i) {
    ...
    do_item_unlink_nolock(search, hv);
    do_item_remove(search);  // the memory is freed to slabs.
    assert(search->slabs_clsid == 0);   // assert after the memory is freed ?
...
}

this is getting removed in #342


Config Not Being Respected

I am using the v1.6 script to deploy a cluster. It works, but does not respect config changes that I apply to config.sh. For example, I tried updating the DIND_SUBNET and deploy. The cluster was deployed with the default <IP_ADDRESS> network. I then ran down/clean, updated the NUM_NODES to 1 and ran up but 2 nodes were deployed.
$ git diff -w
diff --git a/config.sh b/config.sh
index d735523..c399885 100644
--- a/config.sh
+++ b/config.sh
@@ -1,5 +1,5 @@
 # DIND subnet (/16 is always used)
-DIND_SUBNET=<IP_ADDRESS>
+DIND_SUBNET=2001::

 # Apiserver port
 APISERVER_PORT=${APISERVER_PORT:-8080}
@@ -7,7 +7,7 @@ APISERVER_PORT=${APISERVER_PORT:-8080}
 # Number of nodes. 0 nodes means just one master node.
 # In case of NUM_NODES=0 'node-role.kubernetes.io/master' taint is removed
 # from the master node.
-NUM_NODES=${NUM_NODES:-2}
+NUM_NODES=${NUM_NODES:-1}

 # Use non-dockerized build
 # KUBEADM_DIND_LOCAL=

However, changes are respected when the settings are updated directly in the v1.6 script:
$ git diff dind-cluster-v1.6.sh
diff --git a/fixed/dind-cluster-v1.6.sh b/fixed/dind-cluster-v1.6.sh
index 968a85e..75ee043 100755
--- a/fixed/dind-cluster-v1.6.sh
+++ b/fixed/dind-cluster-v1.6.sh
@@ -47,7 +47,7 @@ if [[ ! ${EMBEDDED_CONFIG:-} ]]; then
 fi

 CNI_PLUGIN="${CNI_PLUGIN:-bridge}"
-DIND_SUBNET="${DIND_SUBNET:-<IP_ADDRESS>}"
+DIND_SUBNET="${DIND_SUBNET:-2001::}"
 dind_ip_base="$(echo "${DIND_SUBNET}" | sed 's/\.0$//')"
 DIND_IMAGE="${DIND_IMAGE:-}"
 BUILD_KUBEADM="${BUILD_KUBEADM:-}"

$ ./dind-cluster-v1.6.sh up
* Making sure DIND image is up to date
v1.6: Pulling from mirantis/kubeadm-dind-cluster
Digest: sha256:b81a47264b1992bfeb76f0407e886feded413edd7f5fcbab02ea296831b43db2
Status: Image is up to date for mirantis/kubeadm-dind-cluster:v1.6
* Saving a copy of docker host's /lib/modules
* Starting DIND container: kube-master
docker: Error response from daemon: invalid IPv4 address: 2001::.2.

It’s bash, you need to source a config file ;) these are ’just’ env variables.
To source a file you can use
source config.sh

Or in short:
. config.sh

You need to do it when you change file contents ;)

@pigmej understood. The scripts in /fixed use the EMBEDDED-CONFIG=y directive to bypass sourcing the config file.
Might be a good idea mentioning this in https://github.com/Mirantis/kubeadm-dind-cluster#configuration


Application registrations should be editable

Application registrations should be editable

We have separate #29 for revocation.
We need to clarify what exactly we expect the user to change.
Most likely once the Application provides multiple Access Need Groups, the user could choose Group A, or Group B, or Group C. From what I remember we don't want partial acceptance of needs in a given group.
For now, user should be only able to adjust scopes for each Data Authorization and re-select agents, registries, instances required by the given scope.


C Library on Release 1.14.0

Hi @lhelontra I am trying to use this to build the C library and am running into compile issues. I am building by just replacing the //tensorflow/tools/pip_package:build_pip_package with //tensorflow:libtensorflow.so and I also tried //tensorflow/tools/lib_package:libtensorflow but it ends up with compile errors like below.
Do you have any hints on how to fix this?
/root/tensorflow-on-arm/build_tensorflow/sources/toolchain/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/../arm-linux-gnueabihf/libc/usr/include/stdlib.h:95:1: error: '__BEGIN_NAMESPACE_STD' does not n
ame a type                                                                                __BEGIN_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~~~
/root/tensorflow-on-arm/build_tensorflow/sources/toolchain/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/../arm-linux-gnueabihf/libc/usr/include/stdlib.h:101:5: error: 'div_t' does not name a type
   } div_t;                                                                                ^~~~~
/root/tensorflow-on-arm/build_tensorflow/sources/toolchain/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/../arm-linux-gnueabihf/libc/usr/include/stdlib.h:112:1: error: '__END_NAMESPACE_STD' does not na
me a type
 __END_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~
/root/tensorflow-on-arm/build_tensorflow/sources/toolchain/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/../arm-linux-gnueabihf/libc/usr/include/stdlib.h:121:5: error: 'lldiv_t' does not name a type
   } lldiv_t;
     ^~~~~~~
/root/tensorflow-on-arm/build_tensorflow/sources/toolchain/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/../arm-linux-gnueabihf/libc/usr/include/stdlib.h:123:1: error: '__END_NAMESPACE_C99' does not na
me a type
 __END_NAMESPACE_C99

Hi, verify v1.14.0-buster tag, crosstool should be 5.5.0 not 6.3.1. I recommend your using dockerfile for cross-compile.

Okay, I verified that I was using the right tag now, which I wasn't. This is the other error I've been getting with building boringssl.

I figured it out now. I had installed a version of libssl-dev:armh and it was conflicting with boringssl apparently. Thanks for the pointers.


Bestiary 1: Bulk Import - breaking statblocks

Stablocks to check with categories by Noon
Checked with v3.2.1 of sbc
Sheet errors:

[x] Adlet: Results in a malformed sbc conversion buff with "NaN" for Hp Change
[x] Gate Archon: Has an Armor Type Context Modifier, which sbc currently does not support ([...]; +2 deflection vs. evil)
[x] Mummy: Aura fails to parse correctly when given the DC (despair (30 ft., paralyzed for 1d4 rounds, Will DC 16 negates)
[x] Sunflower Leshy: Statblock uses "Racial Bonus" instead of "Racial Modifier" in the skills section. (Already fixed)

Fatals:

[x] Etiainen: Checked, Statblock on AoN is malformed. Not sbc related.
[x] Euryale: Fails because the natural attack is given as "snake bites" instead of "bites"
[ ] Homunculus: Fails on import, not on parse (probably a malformed change in one or more items)
[ ] Ocean Giant: Fails on import, not on parse (probably a malformed change in one or more items)
[ ] Sun Giant: Fails on import, not on parse (probably a malformed change in one or more items)

Errors:

[ ] Agyra
[ ] Anunnaki
[ ] Ashen Forgemaster
[ ] Baphomet
[ ] Dagon
[ ] Danava
[ ] Geryon
[ ] Ghatanothoa
[ ] Hastur
[ ] Hundun
[ ] Kostchtchie
[ ] Ophiotaurus
[ ] Pazuzu
[ ] Shadow
[ ] Sifkesh
[ ] Soulpierced
[ ] Szuriel
[ ] Tsathoggua
[ ] Vorgozen
[ ] Yig

Adlet: Statblocks may contain non-numeric characters in the HP notation.

Gate Archon: Has an Armor Type Context Modifier, which sbc currently does not support ([...]; +2 deflection vs. evil)

Gate Archon: Some Immunities are missing after parsing.
Immune electricity, fear, petrification; --> Only Fear gets parsed

Mummy: Add parsing of aura effects

Mummy: Add parsing of aura Save Type

Mummy: Add parsing of aura Save Notes

Euryale: Fails because the natural attack is given as "snake bites" instead of "bites"

Homunculus: Fails on import, not on parse (probably a malformed change in one or more items)
Has Any alignment (same as creator) Tiny construct as aligment, which leads to sbc failing


get_crops question

Hello, I was going through your code and I saw a couple of differences between
def get_crops(im, bbox, size_z, size_x, context_amount):  and
function [im_crop_z, bbox_z, pad_z, im_crop_x, bbox_x, pad_x] = get_crops(im, object, size_z, size_x, context_amount) from bertinetto/siamese-fc/save_crops.
The ones that I am interested are these:
[im_crop_x, left_pad_x, top_pad_x, right_pad_x, bottom_pad_x] = get_subwindow_avg(im, [cy cx],
[size_x size_x], [round(s_x) round(s_x)]);
pad_x = ceil([scale_x*(left_pad_x+1) scale_x*(top_pad_x+1) size_x-scale_x*(right_pad_x+left_pad_x) size_x-scale_x*(top_pad_x+bottom_pad_x+1)]);
ws_z = w * scale_z;
hs_z = h * scale_z;
ws_x = w * scale_x;
hs_x = h * scale_x;
bbox_z = [(size_z-ws_z)/2, (size_z-hs_z)/2, ws_z, hs_z];
bbox_x = [(size_x-ws_x)/2, (size_x-hs_x)/2, ws_x, hs_x];
Could you explain why?

These variables are computed in the Matlab version. However, since they are not used in the actual tracking process, they are removed for speed in this repository.


Performance shit with gpu enabled

Hello, sorry for salt but it's my
2nd attemt to submit performance issue, I'm using thinkpad T480 you have my config with report and on big projects (like normal web app) it's just impossible to work, but works pretty well when I launch vs code with  --disable-gpu.
I only 2 extensions : one dark and vetur. Performance slightly better without one dark but wtf I would like to use vs code with extensions and all and get normal perf, this laptop is pretty good and new and I just want to edit code nothing crazy, thanks for listening and for support have a nice day

Please use this guide to provide more information: https://github.com/Microsoft/vscode/wiki/Performance-Issues. Thanks.

not actionable


Support TouchableNativeFeedback for Android

Resolves issues 85, 84, 57.
To achieve proper styling, render method now conditionally renders button for iOS and Android. Added new prop 'androidBackground' which should be one of TouchableNativeFeedback.ThemeAttributeBackgroundPropType. Since TouchableNativeFeedback doesn't have proper styling, it is wrapped in a View which receives containerStyle prop. However, it doesn't work well with padding, so another View added as a nested component, and containerStyle.padding is being set to this nested View.

Published as 3.0.0.


Bad sf::Event documentation

in subsection "detailed description -> usage example" we find :
event.Key.Code == sf::Key::Escape
this code doesn't work with SFML2.0 it should be :
event.Key.Code == sf::Keyboard::Escape

This tracker is about the source code, not the website. And this error is already fixed in the source code.


Make a proper rule manager

[x] Show rule ID on the diagnostics
[x] Be able to disable/enable rules

Closed via #20 .


enhancement: Divider component

this is my divider component
#[derive(Clone, PartialEq)]
pub enum Direction {
	VERTICAL,
	HORIZONTAL,
}

#[component]
pub fn Divider(background: String, direction: Direction) -> Element {
	match direction {
		Direction::VERTICAL => rsx!(
			rect {
				width: "1",
				height: "100%",
				background: background,
			}
		),
		Direction::HORIZONTAL => rsx!(
			rect {
				width: "100%",
				height: "1",
				background: background,
			}
		)
	}
}

ones you can grab with a mouse and move are usually called splitter.
google image search: google.com/search?q=gui+splitter&client=firefox-b-d&sca_esv=e286eb43f4ef8551&udm=2&biw=1898&bih=1005&sxsrf=ADLYWIIa32L69heXKWydD46jd8e6nd6jMA%3A1725043777669&ei=QRTSZsjEKMqakdUPwZKc8AM&ved=0ahUKEwiI6dvssJ2IAxVKTaQEHUEJBz4Q4dUDCBE&uact=5&oq=gui+splitter&gs_lp=Egxnd3Mtd2l6LXNlcnAiDGd1aSBzcGxpdHRlckiZE1DFClijEnACeACQAQCYAVKgAZcEqgEBOLgBA8gBAPgBAZgCA6ACzQHCAgUQABiABMICBhAAGAUYHsICBhAAGAgYHpgDAIgGAZIHATOgB8MN&sclient=gws-wiz-serp
ones that just divide, without being able to be grabbed and resized are just rects (aka div)
also, the bit that you actually grab, is often called the splitter's handle.

I do actually have this on a drafted PR https://github.com/marc2332/freya/pull/752/files#diff-ebe5a18828ca45a7ec7caf8e5b9fb78340d8d1122ba13d44090fa22d4bcd8ed2


When serving over https, it should select https providers by default

I'm proud to be hosting this awesome project here:
https://open-iota.prizziota.com/
But the app initially selects the bitfinex node, which is an http node, and we cannot connect to this when the webapp is served over https.
I may poke around the code and patch it up over the next few days/weeks.

I think I have a solution to this on the dev branch, I'll commit once the wallet side is done!

Cool! My temp fix was just to have my https node be the default, but we could balance the load if it selected a random node.


AppImage

This PR, when merged, will compile this application on Travis CI upon each git push, and upload an AppImage to your GitHub Releases page.
Providing an AppImage would have, among others, these advantages:

Applications packaged as an AppImage can run on many distributions (including Ubuntu, Fedora, openSUSE, CentOS, elementaryOS, Linux Mint, and others)
One app = one file = super simple for users: just download one AppImage file, make it executable, and run
No unpacking or installation necessary
No root needed
No system libraries changed
Works out of the box, no installation of runtimes needed
Optional desktop integration with appimaged
Optional binary delta updates, e.g., for continuous builds (only download the binary diff) using AppImageUpdate
Can optionally GPG2-sign your AppImages (inside the file)
Works on Live ISOs
Can use the same AppImages when dual-booting multiple distributions
Can be listed in the AppImageHub central directory of available AppImages
Can double as a self-extracting compressed archive with the --appimage-extract parameter
No repositories needed. Suitable/optimized for air-gapped (offline) machines
Decentralized

Here is an overview of projects that are already distributing upstream-provided, official AppImages.
PLEASE NOTE: For this to work, you need to set up GITHUB_TOKEN in Travis CI for this to work; please see https://github.com/probonopd/uploadtool.
If you have questions, AppImage developers are on #AppImage on irc.freenode.net.
Reference:
https://github.com/MayaPosch/MQTTCute/issues/6
AppImage for testing:
https://github.com/probonopd/MQTTCute/releases/tag/continuous

Thanks for the PR :)


feature request: configurable preview window

Did you check existing requests?

[X] I have searched the existing issues

Describe the feature
The preview window is currently way too big for displaying changes (which is often just less than 5 lines). It would be nice to have a configuration option like the floating window.
Provide background
No response
Additional details
No response

I've pushed up a change. Now, you can create whatever preview window you want and oil will use it. You can copy the logic from actions.preview and just add something right before the call to oil.select({ preview = true }) that creates a window and sets previewwindow = true on it. Oil will automatically display the preview content in that window.

Sorry, I didn't realize there is a file preview window, the preview window I meant is the confirmation window that shows up after running :w command.
Created here:
https://github.com/stevearc/oil.nvim/blob/6d9b1e5241ee08c77ff37a3d90d8ff3b6a90d87f/lua/oil/mutator/preview.lua#L61-L70

Ah, makes sense. I've added that too!


Page zooming misplaces the tip in IE

Zooming the page enough in or out misplaces the tooltip in Internet Explorer 10. Zooming in Chrome and Firefox seems to work well though.
This can be seen in the bar chart demo:
http://bl.ocks.org/Caged/6476579

Seeing the same thing for what it's worth

Triaging Issues.  Microsoft has dropped support for IE 10. http://venturebeat.com/2016/01/12/microsoft-ends-support-for-ie8-ie9-ie10-and-windows-8/


Add ore plushies

About the PR

add ore plushies
add some missed plushies to different lists
Why / Balance

Technical details

Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl:

add: Added ore plushies.

why tho

The plushie kit is kind of getting bloated in sheer amount of plushies. Can you make a "pet rock" crate or "rock plushie crate" instead?

I think we have so many useless toys that it's time to delete them rather than add new ones.

I think we have so many useless toys that it's time to delete them rather than add new ones.

Nearly every toy is useless, but imho: They add a lot of variety and that's a good thing. Sure it's a bit bloaty, but that doesn't make it bad.

closing till plushie crate will be reworked
(stale label)


consumeBody Breaks If String Chunks Added to Accumulator

When using node-fetch to retrieve data from an internal API, consumeBody breaks on short responses (Content-Length < 1000) and this error is thrown:
FetchError: Could not create Buffer from response body for [ REDACTED ]: The "list[0]" argument must be one of type Array, Buffer, or Uint8Array. Received type string
      at PassThrough.<anonymous> (/opt/ws/webapps/apiv3/node_modules/node-fetch/lib/index.js:432:12)
      at PassThrough.emit (events.js:198:13)
      at endReadableNT (_stream_readable.js:1143:12)
      at process._tickCallback (internal/process/next_tick.js:63:19)
2021-03-19 15:35 -07:00:
  InternalServerError: Internal Server Error
      at Object.throw (/opt/ws/webapps/apiv3/node_modules/koa/lib/context.js:97:11)
      at Middleware (/opt/ws/webapps/apiv3/middleware/catch_all_errors.js:30:12)
      at process._tickCallback (internal/process/next_tick.js:68:7)

Reproduction
The only place we've seen the error is in retrieving data from an internal server running Express, so we can't share the URL or credentials needed to access it.
Here are the headers for two responses, one that succeeds and one that fails:
Header | Value for successful query | Value for unsuccessful query
------------ | -------------
Server | nginx/1.14.0 (Ubuntu) | nginx/1.14.0 (Ubuntu)
Date | Fri, 19 Mar 2021 22:38:07 GMT | Fri, 19 Mar 2021 22:42:43 GMT
Content-Type | application/json; charset=utf-8 | application/json; charset=utf-8
Content-Length | 1772 | 895
Connection | keep-alive | keep-alive
X-Powered-By | Express | Express
ETag | W/"6ec-T42wldLuYk3KBSQYxR6B94eUG64" | W/"37f-eWKswgXApEsLQawERLrsbeEguSE"
In the backend, when issuing the unsuccessful query, the initial fetch succeeds, but calling any method that uses consumeBody breaks. Buffer.concat() is applied to the accumulator, which contains a string, and we get the error from the top of this report.
Expected behavior
The expected behavior is for body.json to return parsed JSON, or body.text, or any of the other methods that consume the body. Instead, node-fetch throws an error.
Your Environment

software
version

node-fetch
2.6.1

node
10.17.0

npm
6.11.3

Operating System
Ubuntu 18.04.3 LTS

Additional context
I was able to get things working by directly editing node-fetch/lib/index.js in the body.on('data') callback. When it pushes a chunk into accum, I called Buffer.from on the chunk if it was a string. This solved the problem. I don't know if this might cause unexpected problems elsewhere.

My apologies, this was caused by some recursive inspection code that accidentally got run on the original response, before .json or any other body parser was run.


Confusing display of image age

Quay says the image was last modified 12 minutes ago; Flux says 26 minutes ago.

I suspect one is the time the image was stamped and the other is the time it was uploaded, since those events are some time apart in the build of this particular image.

We don't in general have access to the time the image was uploaded.


remove XSD:type

Is there a way to remove the xsd:type from the return ?

No, there is no possibility to remove the xsd. Why you need to do this?


[Usersnap] Voting power not updating after self delegation

Context & versions
staging govtool
Steps to reproduce

Actual behavior
says zero
Expected behavior
It should either not show a number or it should show the exact voting power.

Can't test as blocked by #1160


C# bindings

Is it possible to use these DLLs (libllama.dll, libllmodel.dll) that in your project for a Windows console application using Target Framework .NET 6 or .NET 7 to run gpt4all?

Some parts of this bindings can be reused, but mostly code is adapted for Unity exclusive features, like MonoBehaviour or Unity life cycle. You would probably be more interested in the official pure C# bindings that should be merged in original repo soon.
https://github.com/nomic-ai/gpt4all/pull/650

Alpha version of the bindings has been merged. Any feedback would be greatly appreciated!


[Wishlish] Disable deselection of elements

Hi! Could you please add an option to the MultiDrag plugin that disables deselecting of objects (i.e. avoids calling _deselectMultiDrag). It would be nice to have buttons that interact with the selected objects.

Perhaps there can be a deselectZone HTMLElement option that, if clicked, will deselect all elements in that sortable.

I'm not sure how that pertains to what I suggested?
Note that what you suggest is already trivially easy to produce:
$button.click(
   (evt) => {
      $('> .sortable-selected', $sortable).each(
         (i, child) => {
            Sortable.utils.deselect(child);
         }
   )
);

Right now, I'm using the following hack to achieve the requested enhancement:
// Prevent deselection on external click.
// HACK
let deselectMultiDrag = sortable.multiDrag._deselectMultiDrag;
document.removeEventListener('pointerup', deselectMultiDrag, false);
document.removeEventListener('mouseup',   deselectMultiDrag, false);
document.removeEventListener('touchend',  deselectMultiDrag, false);

@ikegami It does pertain to what you suggest because the deselectZone option would be the document by default, and then when it is changed to another element, the multi drag elements would only get deselected when that element is clicked (as opposed to clicking anywhere on the document).

ah, I see what you mean. That would indeed be a suitable interface.

has this deselectZone been implemented?
Another possible solution would be to add a class such as multidrag-click-ignore (or a data- attribute) to elements within the document that ought to be ignored when a click even is registered coming from them.

my current solution to this issue is to stop the event propagation on the specific element I wish to interact with without deselecting the items,
$(element).on('pointerup mouseup touchend', function(event){
  event.stopPropagation();
});

But it seems it still cannot stop deselection while clicking on scrollBar
Is it possible to make the feature of deselecting option while clicking empty space as one of config options. If true, deselect the multi drag option, otherwise no reaction,

likely you are not catching the event on the right element.  You'll need to inspect your scroll bar and check which element is firing the event.  It is possible there are more than one.  You could bind an event callback on the document itself to see where your event is coming from.


Error starting app without any site

Create new Phx app
Install beacon dep
Run server

It should start the server and display the default Phx home page but instead it crashes with:
[error] Failure while translating Erlang's logger event
** (MatchError) no match of right hand side value: %{label: {:gen_statem, :terminate}, name: #PID<0.1138.0>, reason: {:error, %RuntimeError{message: "connect raised KeyError exception: key :database not found. The exception details are hidden, as they may contain sensitive data such as database credentials. You may set :show_sensitive_data_on_connection_error to true when starting your connection if you wish to see all of the details"}, [{Keyword, :fetch!, 2, [file: ~c"lib/keyword.ex", line: 602]}, {Postgrex.Protocol, :connect_endpoints, 6, [file: ~c"lib/postgrex/protocol.ex", line: 169]}, {DBConnection.Connection, :handle_event, 4, [file: ~c"lib/db_connection/connection.ex", line: 92]}, {:gen_statem, :loop_state_callback, 11, [file: ~c"gen_statem.erl", line: 1397]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 241]}]}, log: [], state: Postgrex.Protocol, queue: [internal: {:connect, :init}], modules: [DBConnection.Connection], client_info: :undefined, callback_mode: :handle_event_function, postponed: [], timeouts: {0, []}, state_enter: false}
    (logger 1.17.0-dev) lib/logger/translator.ex:306: Logger.Translator.report_gen_statem_terminate/2
    (logger 1.17.0-dev) lib/logger/utils.ex:47: Logger.Utils.translate/5
    (logger 1.17.0-dev) lib/logger/utils.ex:25: Logger.Utils.translator/2
    (kernel 9.2) logger_backend.erl:101: :logger_backend.do_apply_filters/4
    (kernel 9.2) logger_backend.erl:86: :logger_backend.apply_filters/4
    (kernel 9.2) logger_backend.erl:32: :logger_backend.log_allowed/3
    (stdlib 5.2) gen_statem.erl:2591: :gen_statem.terminate/7
    (stdlib 5.2) proc_lib.erl:241: :proc_lib.init_p_do_apply/3

can't reproduce anymore, likely resolved in a previous PR


Add "TmpFs" to HostConfig

Current coverage is 46.31% (diff: 66.66%)

Merging #541 into master will increase coverage by 0.02%

@@             master       #541   diff @@
==========================================
  Files           130        130
  Lines          4319       4325     +6
  Methods           0          0
  Messages          0          0
  Branches        635        635
==========================================
+ Hits           1999       2003     +4
- Misses         2130       2132     +2
  Partials        190        190

Powered by Codecov. Last update 7140b48...dc9ebea


Snout Fitting Masks

About the PR
Adds 32(+1 from the existing neck gaiter one) new sprites for reptile muzzle fitting masks.
Adds the inventory species ID "reptilian" to lizard mobs to actually use these sprites.
This is a new sprite for every mask EXCLUDING the Italian moustache, ninja, and plague doctor mask.
Why / Balance
It improves the look of a lot of masks when worn by lizards as half of them usually clipped through their snout.
I personally feel like since we already have a unique monkey fitting sprite for every jumpsuit this isn't too far fetched, since that's arguably harder to maintain.
Media

(The mime and clown masks were slightly adjusted since this image was taken.)

[X] I have added screenshots/videos to this PR showcasing its changes ingame.

Changelog
Unsure if it's required.

the clown one is so deformed lol

the clown one is so deformed lol

It now looks like this, there's a couple variants but this was the best I could do.

For inspiration: ya might be able to go for something like CitMain's snout-having clown mask sprites!

Lizard snouts aren't anywhere near the size of the snoots seen across CitMain, but the general idea is applicable: extending those gaudy lips across the side profile

For inspiration: ya might be able to go for something like CitMain's snout-having clown mask sprites!
Lizard snouts aren't anywhere near the size of the snoots seen across CitMain, but the general idea is applicable: extending those gaudy lips across the side profile

I like this, but I'm also trying to maintain a flow between the front view still, which feels out of place with a smile that large.

There's this, but I think he looks, just a little goofy.

I'm not too worried about maintenance cost here, especially since later on a lot of these won't be able to be displacement mapped anyways (gas masks and clown mask are good examples.) Looks fine to me.


withView show navBar issue

I'm trying to build the website where two pages (login, register) don't have navbar but then other 3 has.
How should I construct my routes so that it works with withView hook?
const mainRoutes = compose(
  withView((request) =>
    <NavigationBar>
      <View />
    </NavigationBar>
  ),
  mount({
    '/': withAuthentication(route({
      title: 'Ideas',
      view: <IdeasPage />
    })),
    "/add": withAuthentication(route({
      title: 'Add Idea',
      view: <AddIdeaPage />
    })),
    "/me": withAuthentication(route({
      title: "My Account",
      view: <MyAccountPage />
    })),
  }),
)

const authRoutes = mount({
  '/login': route({
    title: 'Login',
    view: <LoginPage />
  }),
  "/register": route({
    title: "Register",
    view: <RegisterPage />
  }),
})

const routes = compose(mainRoutes, authRoutes);

This approach fails with × NotFoundError: URL not found: /login
If anyone could advise how to solve this I would be grateful.

One way I do this is to put a hideNavbar boolean in the route data, and then create a component that switches what it renders based on this. Something like this:
E.g.
function App() {
  let route = useCurrentRoute()

  if (route.data.hideNavbar) {
    return <View />
  }
  else {
    return (
      <NavigationBar>
        <View />
      </NavigationBar>
    )
  }
}

const routes = compose(
  withView(<App />),
  mount({
    '/': withAuthentication(route({
      title: 'Ideas',
      view: <IdeasPage />
    })),
    "/add": withAuthentication(route({
      title: 'Add Idea',
      view: <AddIdeaPage />
    })),
    "/me": withAuthentication(route({
      title: "My Account",
      view: <MyAccountPage />
    })),
    '/login': route({
      title: 'Login',
      view: <LoginPage />,
      data: {
        hideNavbar: true,
      }
    }),
    "/register": route({
      title: "Register",
      view: <RegisterPage />,
      data: {
        hideNavbar: true,
      }
    }),
  }),
)

Does this help?

Yup. We can close this :)


Collection repeat seems to be leaking

https://github.com/driftyco/ionic/issues/3999
I noticed collection repeat was leaking memory.  I saw this other issue - can someone comment on this?

Greetings @concertcoder!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

Hello! Thanks for opening an issue with us, we just need a little more info from you so that we can better help you with your issue. Would you mind posting a code sample, plunkr or codepen that we can use to reproduce your issue? Also, would you mind running ionic info and posting the output? Thanks again!

As it has been a little while since there was any activity on this issue I will be closing it for now, please feel free to reply if you are still experiencing this issue though! Thanks again!


Maine Onboarding - Build Receiver Settings

Acceptance Criteria

[x] Added to organization.yml and created yamlitos

[x] Customer status = testing

[x] Added to prod settings table

[ ] Added quality filter = allowNone()

[x] Added to staging settings table

[ ] Added quality filter = allowNone()

To Do

[x] RS engineer: update this ticket with comments with every interaction with receiver
[x] RS team member who originates this ticket: add any dependencies, as needed
[x] RS team member who originates this ticket: complete the following when creating this Issue.

[x] Pipelines: Onboarding & Operations (New)
[x] Labels: "Onboarding-ops" and "Receiver" and state label
[x] Epics: [select the epic for this API onboarding sender]

Maine receiver settings created