text:
Bug: Last item has highlighted class on load

On page load the last item that has a binding receives the active class, which is wrong. When I scroll for just 1px it will be fixed. What's the problem?
<scrollactive v-if="showNavText" active-class="router-link-exact-active" :offset="80" :duration="600">
    News
    Links
    Community
</scrollactive>

That should not be happening, it might be something related to the way you structured your html/css maybe, can you provide a fiddle reproducing or maybe the website you're seeing the bug?
Thanks!

Thanks for replying. The html is just as the upper, only a header which has position: fixed; is wrapped around it.
I can't really post a fiddle or the url of the app because it's an internal product. Are there any requirements that the html has to meet?

I mean the HTML of your whole page, isn't #home, #links or #community being loaded dynamically or something like that? The class is added to the section you're currently in when page is loaded, so maybe the way your page is loading might be causing this wrong behavior.
The ideal scenario would be a structure like this with the header being fixed:

    <scrollactive class="my-nav">
        Home
        About Us
        Portfolio
        Contact
    </scrollactive>

    // content here

    // content here

    // content here

    // content here

Try to see if you're not doing anything that might be making the plugin think you are in the last section and not in the first one, also take a look in the repository example to see if that helps.

Might this be the problem:
<home></home>
<community-Links></community-Links>
<community></community>
All of these components have a section tag as root element which have the respective id attributes. (All the components are always displayed altogether!) Setting the id on the component itself didn't work either (<home id="home"></home>).

That might be the problem, but I'll need to make apply some tests to try to reproduce it. I've never really tested using components as the sections, but it should be working. Anyways I'll probably test it tonight and try to improve or maybe come with an alternative solution.
Thanks for the feedback :)

Well, after all this time I finally have time to maintain my libraries, and I've tested this properly and looks like it's working with components as in your example too.
I'll close this issue for now, but if you or someone else still have some problem with this feel free to open it and I'll be happy to help :)

source: gharchive/issue

authors: eddiemf sandrooco

repo: eddiemf/vue-scrollactive

license: mit

license_type: permissive

license_source: bigquery


text:
Reintroduced :locked so the version.locked? check works

Reintroduced :locked to version.rb to make the locked of true == @locked pass.
Tested against Ruby 2.2.3p173 based on gem 1.4.2.

👍

source: gharchive/pull-request

authors: eddieroger pmotch

repo: eddieroger/fastly-ruby

license: MIT

license_source: github-api


text:
Approve/Decline contract request by NHS FE

After viewing details NHS signer admin must be able to approve / decline Contract Request.
Screen flow is next
get details - > approve/decline with status reason -> sign (sign json) - > return to detail page
link to design here (TBD)

[x]  implement according to logic approve/decline
[ ]  test

[ ] decline of Decline does not work

app.js?f8b67a54a4e353af4899:1 Uncaught TypeError: Cannot read property 'setState' of undefined
    at value (app.js?f8b67a54a4e353af4899:1)
    at Object.r (app.js?f8b67a54a4e353af4899:1)
    at o (app.js?f8b67a54a4e353af4899:1)
    at Object.s [as executeDispatchesInOrder] (app.js?f8b67a54a4e353af4899:1)
    at p (app.js?f8b67a54a4e353af4899:1)
    at m (app.js?f8b67a54a4e353af4899:1)
    at Array.forEach (<anonymous>)
    at r (app.js?f8b67a54a4e353af4899:1)
    at Object.processEventQueue (app.js?f8b67a54a4e353af4899:1)
    at r (app.js?f8b67a54a4e353af4899:1)
value @ app.js?f8b67a54a4e353af4899:1
r @ app.js?f8b67a54a4e353af4899:1
o @ app.js?f8b67a54a4e353af4899:1
s @ app.js?f8b67a54a4e353af4899:1
p @ app.js?f8b67a54a4e353af4899:1
m @ app.js?f8b67a54a4e353af4899:1
r @ app.js?f8b67a54a4e353af4899:1
processEventQueue @ app.js?f8b67a54a4e353af4899:1
r @ app.js?f8b67a54a4e353af4899:1
handleTopLevel @ app.js?f8b67a54a4e353af4899:1
i @ app.js?f8b67a54a4e353af4899:1
perform @ app.js?f8b67a54a4e353af4899:1
batchedUpdates @ app.js?f8b67a54a4e353af4899:1
i @ app.js?f8b67a54a4e353af4899:1
dispatchEvent @ app.js?f8b67a54a4e353af4899:1

@svetavedmed Ready for test

[ ] reload page after decline and approve
[ ] check nhs fields before "approve", in case one or more empty msg "Не всі поля заповнені. Заповніть будь-ласка поля"
[ ] fill update fields in case they are not empty

authors: danakonovalenko ephor svetavedmed


text:
feat: implement set_*_properties methods in client

Closes #290
Closes #291
Closes #292
Closes #293
Closes #294
Closes #295

Codecov Report

Merging #296 (7aae632) into master (6c86c82) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master      #296   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            6         6
  Lines          259       271   +12
  Branches        31        31
=========================================
+ Hits           259       271   +12

Impacted Files
Coverage Δ

src/citric/client.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6c86c82...7aae632. Read the comment docs.

It would be nice to add integration tests for set_quota_properties but since there's no get_quota_properties method, testing requires manually setting up a survey with quotas in the UI and exporting the survey to .lss.
After the survey with quotas is added to source control, an integration test for set_quota_properties can be created.
This procedure is blocked until https://github.com/LimeSurvey/LimeSurvey/pull/2280 is released.

authors: codecov-commenter edgarrmondragon

repo: edgarrmondragon/citric


text:
Review availability of sys objects in app ports

App ports are anonymous. The availability of sys objects (like Role) through them seems questionable.

Let's keep this one open to make sure this is addressed in the successor API

repo: edgedb/edgedb


text:
uuid-ossp optional

If you use any managed postgres cluster where you cannot modify the extensions from SQL, you need to create the extension manually before connecting to the DB.
when I did that, I receive an error while trying to start a docker edgedb instance:
edb.server.pgcon.errors.BackendError: extension "uuid-ossp" already exists
ERROR: Could not complete instance bootstrap
exited with code 1

any chance to update CREATE EXTENSION "uuid-ossp" WITH SCHEMA edgedbext to use if not exists?
starting EdgeDB server 3.2+99ce519, built on 2023-07-21T19:07Z from revision b7dc55395 (2023-07-21T01:09Z)

Are you able to create extensions in a specific Postgres schema or is it some predefined schema?

authors: elprans petersamokhin


text:
Update UpdateTargetStatus enum values

Backend:

align Absinthe :update_target_status enum values with :status of Edgehog.UpdateCampaigns.Target

Frontend:

update GraphQL schema
update UpdateTargetsTable component with new statuses
update translation strings

Pull Request Test Coverage Report for Build 95322f04dbab8906eb933f76d3617213952859a1-PR-332

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.482%

Totals

Change from base Build 1236b161f5e4bc27cf8c3b35c2bbf3d07b4825d6:
0.0%

Covered Lines:
1400

Relevant Lines:
1677

💛  - Coveralls

authors: coveralls szakhlypa

repo: edgehog-device-manager/edgehog


text:
Add alpine mirror for apk updates

Signed-off-by: Jeremy Phelps jphelps@linuxfoundation.org

In retrospect I don't think this is needed.  Closing out for now.

repo: edgexfoundry/core-command


text:
Switch default db provider to Redis (Tracking Issue)

🚀 Feature Request
Relevant Package
Digging into details now
Description
As agreed at the October 2019 F2F, Redis is to become the default DB provider for EdgeX. It was also agreed that the Redis integration would be updated to support authentication as provided by EdgeX Secrets.
Tracked issues:

https://github.com/edgexfoundry/developer-scripts/issues/207
https://github.com/edgexfoundry/developer-scripts/issues/194
https://github.com/edgexfoundry/app-functions-sdk-go/issues/253
https://github.com/edgexfoundry/edgex-go/issues/2163
https://github.com/edgexfoundry/edgex-go/issues/1903
https://github.com/edgexfoundry/edgex-go/issues/1746
https://github.com/edgexfoundry/edgex-go/issues/1490
https://github.com/edgexfoundry/edgex-go/issues/1442
https://github.com/edgexfoundry/edgex-go/issues/1388
https://github.com/edgexfoundry/edgex-go/issues/1203
https://github.com/edgexfoundry/edgex-go/issues/959
https://github.com/edgexfoundry/edgex-go/issues/631

@andresrinivasan reach out to @lenny-intel or @rsdmike to create issues related to migrating from Mongo to Redis in the AppFunc space.

authors: andresrinivasan michaelestrin

repo: edgexfoundry/edgex-go


text:
Add Changelog for Ireland release

Add Changelog for Ireland release (V2)
The Changelog would be based on the changelog-generator
https://jenkins.edgexfoundry.org/view/EdgeX Foundry Project/job/edgexfoundry/job/cd-management/job/changelog-generator/

Done with #3591


text:
Add makepkg -g to update checksum

would be nice if it has the ability to update the checksum of the pkg with command makepkg -g >> PKGBUILD

At the moment I'm avoiding anything that changes files into the repository. If .SRCINFO is wrong it just errors out rather than fix it, for example. I think it would be adding too much complexity for this action to automatically create new commits. A "pkgbuild fixer/updater" seems reasonable but would be better as a separate action.
So I'm going to close this because I don't plan on implementing it, but feel free to fork the repo and try it out! If it's possible to implement in a way that isn't too complex or surprising, and is opt-in with an option then I'd consider it but really I think best as a standalone action.
As an aside, I'm not sure it's a great idea to automatically update checksums without any user interaction. The point of the checksum is to ensure the downloaded files are what they should be so the pkgbuild author should ideally verify those checksums in some way. I generally try to use checksums listed on the upstream website. Otherwise you could end up with an attacker messing with the file that GitHub downloads, and then bad checksums will be inserted directly into the pkgbuild. If you're using https then that's unlikely but then what's the point of having a checksum? I'm not 100% opposed to having a potential footgun like that as an optional feature but it's not something I really endorse either.

authors: edlanglois pheiduck

repo: edlanglois/pkgbuild-action


text:
Add Tooltip Translations for the buttons.

I added tooltip translations for languages that are already included, if u approved my PR for dutch.
Then just add this under the translations for nl.
ToolTipPreviousYear: "Vorig jaar",
ToolTipNextYear: "Volgend jaar",
ToolTipCloseSidebar: "Sluit de zijbalk",
ToolTipCloseEventList: "Sluit de event lijst"
I also roughly translated it from google translate.
So i'm not sure if everything is 100% correctly translated
For my project every little thing has to be translated for screen readers.
Regards

Hello @joristackaert, I just resolved the merge conflict and change it a bit, but thank you for this thing!

authors: edlynvillegas joristackaert

repo: edlynvillegas/evo-calendar


text:
Split the main program up into sensible subroutines

Benefits:

Increase comprehensibility by naming semantic parts, and by spelling out the means of communication between them (especially in light of the intent declarations called for by Issue #54).
Reduce duplication of code by naming and reusing repeated chunks (like the state derivative computation), and gain comprehensibility and hackability thereby.
Increase precision of procedure-wise profiling, per the complaint in Issue #48.
Increase the number of easy attachment points for a hypothetical Python driver, per f2py.

I've started working on this, and it causes a lot of code rearrangement, so we probably shouldn't do anything more to the core until this completes, on pain of merge conflicts.

An unexpected beneficial consequence of this project: the time needed to compile the core has fallen drastically.  I'm guessing there's some kind of flow or alias analysis in the compiler whose runtime scales with the product of #variables by #statements in some function, or #variables squared, or some such.

That's a nice side effect!

authors: axch edoddridge

repo: edoddridge/MIM


text:
Privacy and Accessibility pages are in English only

The source problem seems to be in config.toml, the URLs are not localized.
It seems also that these pages are not available in 3 languages.

All footer links have to be changed
About Thorium Reader
Terms of use
Credits
Privacy Policy
Accessibility policy
Licence
About this website
Accessibility : conforms to WCAG 2.1 AA
Licence

authors: gautierchomel llemeurfr

repo: edrlab/thorium-reader-doc


text:
🛑 Portal-DGE is down

In b7578cc, Portal-DGE (https://www.mendoza.edu.ar) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Portal-DGE is back up in ce178e9 after 17 minutes.

repo: edu-red/DGE-GOV


text:
How to setup Staticman with GitHub and Zeit Now

Hi Everyone!
I published a series on setting up Staticman with GitHub and Zeit Now. I hope this helps someone. Let me know what you think.
Cheers!
Trevor

@eduardoboucas If you like the idea of Zeit Now support in Staticman, then I would be happy to make a pull request. Let me know.

For sure, that sounds great!

In the first part of the linked series, there's a section about adding SSH keys.  Nonetheless, according to https://github.com/eduardoboucas/staticman/issues/244#issuecomment-451704185, a PEM key is needed instead of an SSH key.
In addition, GitLab EE docs recommend using ED25519 instead of RSA.

ED25519 SSH keys
Following best practices, you should always favor ED25519 SSH keys, since they are more secure and have better performance over the other types.
ED25519 SSH keys were introduced in OpenSSH 6.5, so any modern OS should include the option to create them. If for any reason your OS or the GitLab instance you interact with doesn’t support ED25519, you can fallback to RSA.

See also:

PR #256
Which one is better: elliptic curve cryptography or RSA algorithm and why? - Quora

Thank you for the information on SSH key standards and for the link on elliptic curve cryptography. Well, I am aware of elliptic curve cryptography and the advantages that it has over public key cryptography, I am behind on the latest encryption standards and need to commit some time updating my knowledge in this area.

@BloggerBust I was able to follow your guide successfully until (and including) the "connect" part where the bot account accepts the collaborator invitation. Unfortunately, I have not been able to post comments since I am getting a 500 error without any details on the response or in the logs. I am puzzled, since I had v2 working with the staticman service before it went bad, so the client code should be ok (with the only change being the endpoint). Any hints as to where to begin looking? Thanks.

I think the guide needs to be updated with v3 API introduced in #219.

@VincentTam,
Yes, the guide definitely needs an update. I have been busy all summer. I will get caught up with things in the next week or so. Is the latest in upstream master functioning for v3 now? Or is that a problem that is yet to be solved?
@jimmyangel,
I responded to your comment on my blog with some instructions on how to obtain some useful logs to help you troubleshoot the issue.
Cheers!
Trevor

Is the latest in upstream master functioning for v3 now?

I'm not keen on the recent addition of GitHub Apps support since this bundles Staticman with the proprietary service.  As a result, I regret that I can't respond to your question.

Hi @BloggerBust,
I left a comment on your blog! I was able to make it work, thanks a lot for your detailed instructions.
For anyone trying to do this, if you are coming from an earlier deployment (like the original api.staticman.net), do not forget to re-encrypt all your encrypted site configuration (staticman.yml) parameters (like your reCaptcha secret). Otherwise the decrypt will fail silently and you will get a 500 error with no details.
BTW, that ZEIT service looks pretty darn good.
Thanks again,
Ricardo

I had the same issue recently @jimmyangel and mentioned it in issue #108 and created PR #308 to address it. I'm glad you were able to get it figured out :) 👍

I'm not keen on the recent addition of GitHub Apps support since this bundles Staticman with the proprietary service.

I am empathetic to your sentiment and yet we both have GitHub accounts :-P. I am hoping to move to sourcehut in the future, but in the meantime I am happy to help improve Staticman for GitHub.

@jimmyangel
I saw that this morning. That is great news!

This seems resolved. Feel free to comment if it isn't and I'll reopen this.

authors: BloggerBust VincentTam alexwaibel deadlydog eduardoboucas jimmyangel

repo: eduardoboucas/staticman


text:
Not showing dashboard page

Hi Edwardspresume, thanks for sharing your experience with lucia. After cloning the main branch and install with pnpm install etc. I wanted to test registration an so on. After registering the page redirects to /dashboard. There I can se a milisecond the Dashboard but then I see the Register form. Maybe the routing has an error.

Hi Bob,
Np and ok i'll look into the issue either later today or tomorrow

Hi, I cloned your new branch password_reset an everything works fine. Clone your main branch again an routing just works fine. Very strange.

That is strange, but I am glad that everything is working now

Still the same problem here.
I am testing the email verification branch, the code works fine on Firefox 123, but it is not possible to get into Dashboard on Chrome 115. This could be due to sveltekit and browser incompatibilities, not this code.
On Chrome 115 (Ubuntu 22.04):
Local:   http://localhost:5173/ - Loads the landing page, impossible to even get into the registration form, but it loads it briefly when pressing on the button and during refreshing of the browser.
Network: http://192.168.0.101:5173/ - Shows the registration form, but no email verification prompt follows, even if the email is sent.
Everything works fine on Firefox 123, except in one case (cannot remember exact action sequence) I could see the console errors with F12 around http vs https cookie (will post this in a separate issue).
Also, only on Chrome 115 sometimes I can see the warning in F12 console:
 received an unexpected slot "default".
There are a lot of these slot warnings and errors in the sveltekit issues on github, don't know what to do about it, they do not show on Firefox 123.


text:
fatal: not a git repository (or any of the parent directories): .git

Attempting to downgrade my iPhone 7 (currently on iOS 15.6.1) to 14.3 using a hackintosh running macOS Sonoma, and I just get the following
[*] Command ran: ./downr1n.sh --downgrade 14.3
Cloning into 'ramdisk'...
[*] Downloading futurerestore please wait...
Archive:  futurerestore-macOS-RELEASE.zip
  inflating: futurerestore-macOS-v2.0.0-test-Build_308-RELEASE.tar.xz
x futurerestore
fatal: not a git repository (or any of the parent directories): .git

Download and use git repository
ex (on linux) : git clone --recursive https://github.com/edwin170/downr1n

Download and use git repository
ex (on linux) : git clone --recursive https://github.com/edwin170/downr1n

yeah good answer

Attempting to downgrade my iPhone 7 (currently on iOS 15.6.1) to 14.3 using a hackintosh running macOS Sonoma, and I just get the following
[*] Command ran: ./downr1n.sh --downgrade 14.3
Cloning into 'ramdisk'...
[*] Downloading futurerestore please wait...
Archive:  futurerestore-macOS-RELEASE.zip
  inflating: futurerestore-macOS-v2.0.0-test-Build_308-RELEASE.tar.xz
x futurerestore
fatal: not a git repository (or any of the parent directories): .git

instead of downloading please git clone it, you can use the command that the person sent before

it worked, my iphone is now on ios 14.3, thanks. :)

great enjoy it


text:
'master' Branch incompatibility with ironwood release (tutor)

Hey there
we figured out, that the current android master branch does not correctly work with the tutor ironwood release. We assume, that we need to use another branch/tag/commit of this repo for connecting to an ironwood instance.
See
https://github.com/overhangio/tutor/issues/289
https://discuss.overhang.io/t/sign-in-error-in-android-app/294/2
Can someone poke me into the right direction please? Is that supposed to work, or do we have to use another branch of the Android application?
Cheers :)

There is an open-release/ironwood.master branch in this repo.  It should be compatible with Ironwood.

Not sure why this was closed so quickly. I am still having problems. Using the branch open-release/ironwood.master, I am getting the following error (didn't happen on master branch).
> Configure project :OpenEdXMobile
Could not determine version code
java.lang.NumberFormatException: For input string: "ironwood"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)

Try using our latest release's branch i.e. rc/2.20.2
https://github.com/edx/edx-app-android/releases/tag/release%2F2.20.2

p.s. master should work too as we never call the /oauth2/access_token/ using GET method in our code (as mentioned in the links you shared).

Cool, thanks for the information. We are usinf the openrelease/ironwood.1 tag now. Is that valid?

master should work too as we never call the /oauth2/access_token/ using GET method in our code (as mentioned in the links you shared).

I really wonder why I am seeing this in my nginx log then:
nginx-proxy | xxxxxxxxx 201.184.139.74 - - [08/Feb/2020:19:18:48 +0000] “POST /oauth2/access_token/ HTTP/1.1” 301 169 “-” “Dalvik/2.1.0 (Linux; U; Android 9; ONEPLUS A5000 Build/PKQ1.180716.001) xxxxxxxxxxxxxxxxxx/2.19.1”
nginx-proxy | xxxxxxxxx 201.184.139.74 - - [08/Feb/2020:19:18:48 +0000] “GET /oauth2/access_token/ HTTP/2.0” 400 80 “-” “Dalvik/2.1.0 (Linux; U; Android 9; ONEPLUS A5000 Build/PKQ1.180716.001) xxxxxxxxxxxxxxxxxxxx/2.19.1”

That's a really old tag that I won't recommend using.

I really wonder why I am seeing this in my nginx log then:

Any specific reason as to why you are getting a 301 status calling the API using POST method?
“POST /oauth2/access_token/ HTTP/1.1” 301

Any specific reason as to why you are getting a 301 status calling the API using POST method?

tutor Android build is configured to use http per default. My nginx redirects this to https with a 301 status. Already mentioned it here: https://github.com/overhangio/tutor/issues/289
However, this is confusing me now. Why is the 301 POST redirected to a GET request? Is that an issue on the client side of the request or on the redirecting server?

no idea, we've never encountered such issue.

I changed the API_HOST_URL to https and it works. Even with master branch.
Thanks for your help!!

Oh great! You're welcome.

authors: miankhalid mindrunner nedbat

repo: edx/edx-app-android


text:
Minor bugs with native course detail screen

Only show overlay message if tapping "Enroll now" not "View Course".
Hide back text for course catalog

JIRA: https://openedx.atlassian.net/browse/MA-1699

@mikekatz please review

:+1:

authors: aleffert mikekatz

repo: edx/edx-app-ios


text:
Daniel Minichetti - Issues for car software ambient temperature control

Ambient Temperature Control  Problem

After some time, the ambient temperature control seems to either increase or decrease by a certain degree after about 30 minutes or so

this could be an annoying issue for the consumers


text:
make pdk failed after pulling from skywater-pdk

The issue
The make pdk command failed after it tried to fetch from the skywater-pdk repository. With error message
cd /home/korlamarch/brown/chips/pdks/skywater-pdk && \
	git checkout master && git pull && \
	git checkout -qf db2e06709dc3d876aa6b74a5f3893fa5f1bc2a6e
error: pathspec 'master' did not match any file(s) known to git
make[1]: *** [/home/korlamarch/brown/chips/caravel_user_project/caravel/Makefile:394: skywater-pdk] Error 1
make[1]: Leaving directory '/home/korlamarch/brown/chips/caravel_user_project'
make: *** [Makefile:40: pdk] Error 2

Steps to reproduce
run a make pdk on a clean setup.
Fixes
I think this is because skywater-pdk no longer has the master branch in their Github. They only have main now. Locally, I changed the skywater-pdk target in makefile to
skywater-pdk: check-env $(PDK_ROOT)/skywater-pdk
	cd $(PDK_ROOT)/skywater-pdk && \
		git checkout main && git pull && \
		git checkout -qf $(SKYWATER_COMMIT)

This issue was fixed on caravel's develop branch which has been merged to master. So, it should be working now.

Sounds good! closing the issue.

authors: KorlaMarch Manarabdelaty

repo: efabless/caravel-lite


text:
🛑 La Semilla Que Crece is down

In 20f1cf3, La Semilla Que Crece (https://www.lasemillaquecrece.com.ar) was down:

HTTP code: 0
Response time: 0 ms

Resolved: La Semilla Que Crece is back up in d03eb02.

repo: efecear/upptime


text:
🛑 Nodo UTT Ramos Mejia is down

In 5f964f0, Nodo UTT Ramos Mejia (https://www.uttnodoramosmejia.com.ar) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Nodo UTT Ramos Mejia is back up in c5d98e2.


text:
🛑 Almacén Reina Batata is down

In af1e10b, Almacén Reina Batata (https://www.reina-batata.com.ar) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Almacén Reina Batata is back up in fbaa906.


text:
🛑 Nodo UTT Morón is down

In 8fe5fcc, Nodo UTT Morón (https://www.nodouttmoron.com.ar) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Nodo UTT Morón is back up in 22c049e.


text:
🛑 Tierra Firme is down

In 2a960ed, Tierra Firme (https://www.tierrafirmenodoutt.com.ar) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Tierra Firme is back up in 9eacced.


text:
[IE] Can't blur on empty input with placeholder attribute

Apparently IE triggers input event when inserting the placeholder on blur in empty textarea. This in turn triggers update of the component's selection state causing a new #setSelection() call, causing a refocus.
See also: http://stackoverflow.com/questions/21406138/input-event-triggered-on-internet-explorer-when-placeholder-changed

fix seems to work

repo: effektif/react-mentions


text:
TypeError: 'NoneType' object has no attribute 'getitem'

Facing "TypeError: 'NoneType' object has no attribute 'getitem' "when running below code:
*** Settings ***
Library  BuiltIn
Library  OperatingSystem
Library  Process
Library  AutoItLibrary
Library  Collections
Library  ImageHorizonLibrary  reference_folder=c:\downloads
*** Test Case ***
Run Application
App
*** KeyWords ***
App
AutoItLibrary.Run  C:\Downloads\CinebenchR20\app.exe
Sleep  5s
Locate  file
Click Image  file
Sleep  1s
locate  selectall
Click Image  selectall
Setup details:
Python v2.7
Pillow==2.9.0
PyAutoGUI==0.9.42
PyGetWindow==0.0.4
robotframework==3.1.2
robotframework-autoitlibrary==1.2.4
robotframework-imagehorizonlibrary==0.1

again, provide the full stacktrace. you are not even telling where (which keyword? or in import?) this fails

Robot framework log report has below error:

Documentation:
Locate image on screen.

20190618 13:19:02.972 / 20190618 13:19:04.209 / 00:00:01.237

FAIL | TypeError: 'NoneType' object has no attribute 'getitem'

It would be more helpful if you could just attach the log.html instead of screenshot...

It would be more helpful if you could just attach the log.html instead of screenshot...

log.zip

log.zip

@Tattoo any update? Did you get a chance to look at the logs?

Turns out the error is actually related to pyscreeze's locateCenterOnScreen() and center(coords). If you edit pyscreeze's init.py and change center(coords) to
def center(coords):     if coords is None:         return coords     else:         return Point(coords[0] + int(coords[2] / 2), coords[1] + int(coords[3] / 2))
then rerun the setup.py install it will now return None when the image isn't found. This will allow all of image horizon's errors to display properly.
There is an issue for this on pyscreeze's git page from May.

The OpenCV is merged to master branch, will make a release in upcoming days/weeks, I hope that it solves this issue also

Yes, the opencv support should alleviate problems. Closing this issue, if there are further problems please open a new ticket

authors: KerbalSpaceFrontier Tattoo gotcha1 matejc


text:
Implement auto-select of last booted system

Take 2... Much better than before...

Fixed.

Fixed.


text:
🛑 MY-Mikrotik-3 is down

In 2bd301b, MY-Mikrotik-3 (http://103.158.231.11:64000) was down:

HTTP code: 0
Response time: 0 ms

Resolved: MY-Mikrotik-3 is back up in e029f5b after 1 hour, 23 minutes.


text:
panic: runtime error: index out of range

while it works perfectly on local boot2docker machine created by docker machine
it gives me this
 ❯ dc up interlock
Creating network "app_default" with the default driver
Creating volume "app_pg_data" with local driver
Creating app_interlock_1
Attaching to app_interlock_1
interlock_1 | time="2016-04-13T07:27:25Z" level=info msg="interlock 1.1.0 (8a68c99)"
interlock_1 | time="2016-04-13T07:27:25Z" level=debug msg="loading config from: /bin/config.toml"
interlock_1 | time="2016-04-13T07:27:25Z" level=debug msg="docker client: url=unix:///var/run/docker.sock"
interlock_1 | time="2016-04-13T07:27:25Z" level=debug msg="loading extension: name=haproxy"
interlock_1 | panic: runtime error: index out of range
interlock_1 |
interlock_1 | goroutine 1 [running]:
interlock_1 | panic(0xba2240, 0xc820010010)
interlock_1 |   /usr/local/go/src/runtime/panic.go:464 +0x3e6
interlock_1 | github.com/ehazlett/interlock/ext/lb.getNodeID(0x0, 0x0, 0x0, 0x0)
interlock_1 |   /go/src/github.com/ehazlett/interlock/ext/lb/utils.go:35 +0x52d
interlock_1 | github.com/ehazlett/interlock/ext/lb.NewLoadBalancer(0xc820170480, 0xc82016d920, 0xcd5798, 0x0, 0x0)
interlock_1 |   /go/src/github.com/ehazlett/interlock/ext/lb/lb.go:93 +0x1d0
interlock_1 | github.com/ehazlett/interlock/server.(*Server).loadExtensions(0xc82016d800, 0xc82016d920)
interlock_1 |   /go/src/github.com/ehazlett/interlock/server/server.go:171 +0x236
interlock_1 | github.com/ehazlett/interlock/server.NewServer(0xc820112b00, 0x16d, 0x0, 0x0)
interlock_1 |   /go/src/github.com/ehazlett/interlock/server/server.go:112 +0x280
interlock_1 | main.runAction(0xc820137040)
interlock_1 |   /go/src/github.com/ehazlett/interlock/cmd/interlock/run.go:186 +0xc8f
interlock_1 | github.com/ehazlett/interlock/vendor/github.com/codegangsta/cli.Command.Run(0xcd7fd0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf0ae0, 0xd, 0x0, ...)
interlock_1 |   /go/src/github.com/ehazlett/interlock/vendor/github.com/codegangsta/cli/command.go:174 +0x1399
interlock_1 | github.com/ehazlett/interlock/vendor/github.com/codegangsta/cli.(*App).Run(0xc820136dc0, 0xc82000a0a0, 0x5, 0x5, 0x0, 0x0)
interlock_1 |   /go/src/github.com/ehazlett/interlock/vendor/github.com/codegangsta/cli/app.go:187 +0x112b
interlock_1 | main.main()
interlock_1 |   /go/src/github.com/ehazlett/interlock/cmd/interlock/main.go:36 +0x3db
app_interlock_1 exited with code 2

on
 ❯ uname -rsm
Linux 4.4.4-std-3 x86_64

Would you happen to know why?
I tried pulling this repo and running the examples, same error.

FYI this is on a VPS on scaleway.com

Ya Interlock needs to run in a container. That's the getNodeID error
although it should report a better error. I will take a look.
On Apr 13, 2016 03:32, "Po Chen" notifications@github.com wrote:

while it works perfectly on local boot2docker machine created by docker
machine
it gives me this
❯ dc up interlock
Creating network "app_default" with the default driver
Creating volume "app_pg_data" with local driver
Creating app_interlock_1
Attaching to app_interlock_1
interlock_1 | time="2016-04-13T07:27:25Z" level=info msg="interlock 1.1.0 (8a68c99)"
interlock_1 | time="2016-04-13T07:27:25Z" level=debug msg="loading config from: /bin/config.toml"
interlock_1 | time="2016-04-13T07:27:25Z" level=debug msg="docker client: url=unix:///var/run/docker.sock"
interlock_1 | time="2016-04-13T07:27:25Z" level=debug msg="loading extension: name=haproxy"
interlock_1 | panic: runtime error: index out of range
interlock_1 |
interlock_1 | goroutine 1 [running]:
interlock_1 | panic(0xba2240, 0xc820010010)
interlock_1 |   /usr/local/go/src/runtime/panic.go:464 +0x3e6
interlock_1 | github.com/ehazlett/interlock/ext/lb.getNodeID(0x0, 0x0, 0x0, 0x0)
interlock_1 |   /go/src/github.com/ehazlett/interlock/ext/lb/utils.go:35 +0x52d
interlock_1 | github.com/ehazlett/interlock/ext/lb.NewLoadBalancer(0xc820170480, 0xc82016d920, 0xcd5798, 0x0, 0x0)
interlock_1 |   /go/src/github.com/ehazlett/interlock/ext/lb/lb.go:93 +0x1d0
interlock_1 | github.com/ehazlett/interlock/server.(*Server).loadExtensions(0xc82016d800, 0xc82016d920)
interlock_1 |   /go/src/github.com/ehazlett/interlock/server/server.go:171 +0x236
interlock_1 | github.com/ehazlett/interlock/server.NewServer(0xc820112b00, 0x16d, 0x0, 0x0)
interlock_1 |   /go/src/github.com/ehazlett/interlock/server/server.go:112 +0x280
interlock_1 | main.runAction(0xc820137040)
interlock_1 |   /go/src/github.com/ehazlett/interlock/cmd/interlock/run.go:186 +0xc8f
interlock_1 | github.com/ehazlett/interlock/vendor/github.com/codegangsta/cli.Command.Run(0xcd7fd0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf0ae0, 0xd, 0x0, ...)
interlock_1 |   /go/src/github.com/ehazlett/interlock/vendor/github.com/codegangsta/cli/command.go:174 +0x1399
interlock_1 | github.com/ehazlett/interlock/vendor/github.com/codegangsta/cli.(*App).Run(0xc820136dc0, 0xc82000a0a0, 0x5, 0x5, 0x0, 0x0)
interlock_1 |   /go/src/github.com/ehazlett/interlock/vendor/github.com/codegangsta/cli/app.go:187 +0x112b
interlock_1 | main.main()
interlock_1 |   /go/src/github.com/ehazlett/interlock/cmd/interlock/main.go:36 +0x3db
app_interlock_1 exited with code 2
on
❯ uname -rsm
Linux 4.4.4-std-3 x86_64
Would you happen to know why?
I tried pulling this repo and running the examples, same error.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/ehazlett/interlock/issues/119

That's weird, it is run in a container. Hmm. Is there any other information I can provide you with?

And thank you so much for the super timely response.

Oh odd. Can you give me some more info about the host?  Docker version, OS
etc.
On Apr 13, 2016 03:36, "Po Chen" notifications@github.com wrote:

That's weird, it is run in a container. Hmm. Is there any other
information I can provide you with?
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/ehazlett/interlock/issues/119#issuecomment-209281122

Yw :). It's late for me so I will check this out more in the morning. :).
Host info will help. I'll try to reproduce. Thx!
On Apr 13, 2016 03:36, "Po Chen" notifications@github.com wrote:

And thank you so much for the super timely response.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/ehazlett/interlock/issues/119#issuecomment-209281843

 ⚡ root@scw-10c99b  /v/app 
 ❯ docker-compose version
docker-compose version 1.6.2, build 4d72027
docker-py version: 1.7.2
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.1e 11 Feb 2013

 ⚡ root@scw-10c99b  /v/app 
 ❯ uname -a
Linux scw-10c99b 4.4.4-std-3 #1 SMP Tue Mar 8 17:31:34 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

my compose file
version: '2'
services:
  interlock:
    image: ehazlett/interlock:1.1.0
    command: run -c /bin/config.toml
    ports:
      - 8080
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./config.toml:/bin/config.toml
  lb:
    image: haproxy:1.6.4
    labels:
      - "interlock.ext.name=haproxy"
    ports:
      - 80:80
    depends_on:
      - interlock
  web:
    build:
      context: .
      dockerfile: Dockerfile.web
      args:
        - MIX_ENV=dev
    image: schedule
    hostname: docker.dev
    ports:
      - 4000
    environment:
      JWT_SECRET_KEY: |-
        abc123abc123abc123abc123abc123abc123abc123abc123abc123abc
        123abc123abc123abc123abc123abc123abc123abc123abc123abc123
    volumes:
      - ./web:/var/app/web
      - ./config:/var/app/config
      - ./priv:/var/app/priv
      - ./lib:/var/app/lib
      - ./test:/var/app/test
      - ./mix.exs:/var/app/mix.exs
      - ./mix.lock:/var/app/mix.lock
    depends_on:
      - db
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: password
    volumes:
      - pg_data:/var/lib/postgresql/data:rw
  registrator:
    image: gliderlabs/registrator:master
    depends_on:
      - consul
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock
    command: -internal -resync 600 consul://consul:8500
  consul:
    image: gliderlabs/consul-server:0.6
    command: "-bootstrap"
  assets:
    build:
      context: .
      dockerfile: Dockerfile.assets
    image: schedule_assets
    volumes:
      - ./web/static:/var/build/web/static
      - ./priv/static:/var/build/priv/static
      - ./.eslintrc:/var/build/.eslintrc
      - ./webpack.config.js:/var/build/webpack.config.js
volumes:
  pg_data:
    driver: local

let me know if you need more information.

I'm pretty noob at linux, so...
Ubuntu Wily (15.10) (GNU/Linux 4.4.4-std-3 x86_64 )

 ❯ lshw
scw-10c99b
    description: Computer
    width: 64 bits
    capabilities: smbios-2.8
  *-core
       description: Motherboard
       physical id: 0
     *-memory
          description: System memory
          physical id: 0
          size: 2003MiB
     *-cpu:0
          product: Intel(R) Atom(TM) CPU  C2750  @ 2.40GHz
          vendor: Intel Corp.
          physical id: 1
          bus info: cpu@0
          width: 64 bits
          capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx rdtscp x86-64 constant_tsc arch_perfmon rep_good nopl pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes rdrand hypervisor lahf_lm 3dnowprefetch arat tsc_adjust smep erms
     *-cpu:1
          product: Intel(R) Atom(TM) CPU  C2750  @ 2.40GHz
          vendor: Intel Corp.
          physical id: 2
          bus info: cpu@1
          width: 64 bits
          capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx rdtscp x86-64 constant_tsc arch_perfmon rep_good nopl pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes rdrand hypervisor lahf_lm 3dnowprefetch arat tsc_adjust smep erms
     *-pci
          description: Host bridge
          product: 440FX - 82441FX PMC [Natoma]
          vendor: Intel Corporation
          physical id: 100
          bus info: pci@0000:00:00.0
          version: 02
          width: 32 bits
          clock: 33MHz
        *-isa
             description: ISA bridge
             product: 82371SB PIIX3 ISA [Natoma/Triton II]
             vendor: Intel Corporation
             physical id: 1
             bus info: pci@0000:00:01.0
             version: 00
             width: 32 bits
             clock: 33MHz
             capabilities: isa
             configuration: latency=0
        *-ide UNCLAIMED
             description: IDE interface
             product: 82371SB PIIX3 IDE [Natoma/Triton II]
             vendor: Intel Corporation
             physical id: 1.1
             bus info: pci@0000:00:01.1
             version: 00
             width: 32 bits
             clock: 33MHz
             capabilities: ide
             configuration: latency=0
             resources: ioport:1f0(size=8) ioport:3f6 ioport:170(size=8) ioport:376 ioport:c060(size=16)
        *-bridge UNCLAIMED
             description: Bridge
             product: 82371AB/EB/MB PIIX4 ACPI
             vendor: Intel Corporation
             physical id: 1.3
             bus info: pci@0000:00:01.3
             version: 03
             width: 32 bits
             clock: 33MHz
             capabilities: bridge
             configuration: latency=0
        *-network
             description: Ethernet interface
             product: Virtio network device
             vendor: Red Hat, Inc
             physical id: 2
             bus info: pci@0000:00:02.0
             logical name: eth0
             version: 00
             serial: de:19:44:38:c0:03
             width: 32 bits
             clock: 33MHz
             capabilities: msix bus_master cap_list rom ethernet physical
             configuration: broadcast=yes driver=virtio_net driverversion=1.0.0 ip=10.2.37.199 latency=0 link=yes multicast=yes
             resources: irq:0 ioport:c040(size=32) memory:febc0000-febc0fff memory:feb80000-febbffff
        *-scsi
             description: SCSI storage controller
             product: Virtio block device
             vendor: Red Hat, Inc
             physical id: 3
             bus info: pci@0000:00:03.0
             version: 00
             width: 32 bits
             clock: 33MHz
             capabilities: scsi msix bus_master cap_list
             configuration: driver=virtio-pci latency=0
             resources: irq:0 ioport:c000(size=64) memory:febc1000-febc1fff

Can you give me docker info and docker version as well?  Thx!

Also can you run a container and give me the output of cat /proc/self/cgroup?  Thx

Docker version is 1.10.3 iirc.
I have to get the rest later. Bed time for Australia.
On Wed, 13 Apr 2016, 23:57 Evan Hazlett notifications@github.com wrote:

Also can you run a container and give me the output of cat
/proc/self/cgroup? Thx
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/ehazlett/interlock/issues/119#issuecomment-209454424

@ehazlett
docker info
 ❯ docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 36
Server Version: 1.10.3
Storage Driver: devicemapper
 Pool Name: docker-254:0-395388-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: ext4
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 2.186 GB
 Data Space Total: 107.4 GB
 Data Space Available: 44.87 GB
 Metadata Space Used: 4.428 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.143 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.99 (2015-06-20)
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
 Volume: local
 Network: bridge null host
Kernel Version: 4.4.4-std-3
Operating System: Ubuntu 15.10
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.957 GiB
Name: scw-10c99b
ID: 7KER:LGUB:4W3L:D7IK:6C6O:BQLK:KGUG:HJF6:3YYN:YL7Q:ZR6G:3R6S
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support

 ❯ docker run --rm nginx:1.9.14 cat /proc/self/cgroup
10:pids:/
9:blkio:/docker/588bca30160dec5f6999b4ed143bf612f5152e2676b029728abd819f1b90f027
8:cpuset:/docker/588bca30160dec5f6999b4ed143bf612f5152e2676b029728abd819f1b90f027
7:freezer:/docker/588bca30160dec5f6999b4ed143bf612f5152e2676b029728abd819f1b90f027
6:net_cls:/docker/588bca30160dec5f6999b4ed143bf612f5152e2676b029728abd819f1b90f027
5:memory:/docker/588bca30160dec5f6999b4ed143bf612f5152e2676b029728abd819f1b90f027
4:devices:/docker/588bca30160dec5f6999b4ed143bf612f5152e2676b029728abd819f1b90f027
3:perf_event:/docker/588bca30160dec5f6999b4ed143bf612f5152e2676b029728abd819f1b90f027
2:cpu,cpuacct:/docker/588bca30160dec5f6999b4ed143bf612f5152e2676b029728abd819f1b90f027
1:name=systemd:/docker/588bca30160dec5f6999b4ed143bf612f5152e2676b029728abd819f1b90f027

Running docker run --rm --entrypoint sh ehazlett/interlock:1.1.0 -c cat /proc/self/cgroup doesn't seem to output anything...

Surprise, I upgraded the docker installation on the server to use the latest, just released 1.11, and it's working now.

authors: ehazlett princemaple

repo: ehazlett/interlock


text:
Add validation for cluster URI in clustering service configuration

The ClusteringServiceConfiguration and ClusteringServiceConfigurationParser (and possibly other) classes need updates to validate the form/content of the clusterUri/connectionUri provided by the user.

Replaced by issue #1136.


text:
A graph showing different root nodes

A graph showing different root nodes,as this

There is now a requirement, a graph has multiple root nodes, but an error is reported with neo4jd3.js

everybody there?

could you explain further ?


text:
SPR not resolving repository name

I have installed SPR with use of deb package. This is the installed version:
spr version : 0.2.0 : 2021-05-27T05:05:34Z : c49a3038.
When trying to check the PRs status I get:
$ git spr --status
panic: Could not resolve to a Repository with the name '/'.

goroutine 1 [running]:
github.com/ejoffe/spr/spr.check(...)
        /Users/eitan/Code/spr/spr/spr.go:788
github.com/ejoffe/spr/spr.(*stackediff).getGitHubInfo(0xc0000c0480, 0x7d5ad0, 0xc0000a8000, 0xc0000bc050, 0x747280)
        /Users/eitan/Code/spr/spr/spr.go:489 +0xa15
github.com/ejoffe/spr/spr.(*stackediff).StatusPullRequests(0xc0000c0480, 0x7d5ad0, 0xc0000a8000)
        /Users/eitan/Code/spr/spr/spr.go:248 +0x92
main.main()
        /Users/eitan/Code/spr/cmd/spr/main.go:74 +0x3ab

This is worrying for two reasons:

Hardcoded(?) paths
Inability to find the repo name.

For 2. I checked the config file:
$ cat .spr.yml
githubRepoOwner: ""
githubRepoName: ""
requireChecks: true
requireApproval: true
showPRLink: true

After putting repo owner and repo name manually, the panic is not occurring.

interesting, I guess this has something to do with the goreleaser binary build stuff.

Looks like the script was not able to figure out the repo name and owner in your case, and left it blank in the config file.
I will add a warning message when this happens.
The script tries to figure out the repo owner and name by running a regex on 'git remote -v', Can you paste the output of this command for you.

@ejoffe Ad 2.
$ git remote -v
origin  git@github.com:owner/repo (fetch)
origin  git@github.com:owner/repo (push)

That matches the regex, I wonder if maybe the git command failed (silently) for some reason and that's why the repo/owner couldn't be fetched correctly. I'll add better error handling and a warning message if owner/repo isn't found.

That matches the regex,
After double checking this, I have found some issues in the regex. Created PR to fix that.

Merged pull request and released version v0.3.1.
Eitan
On Tue, Jun 1, 2021 at 2:21 AM Krzysztof Kwapisiewicz <
@.***> wrote:

That matches the regex,
After double checking this, I have found some issues in the regex. Created
PR to fix that.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ejoffe/spr/issues/1#issuecomment-851972639, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIZN6G7MHTFZRL7AG75SP3TQSRCXANCNFSM45WBKJ4Q
.

authors: ejoffe kwapik

repo: ejoffe/spr


text:
BranchNameIncludeTarget : option to include traget branch name in pr branch

Stack:

#329
#328
#327
#326 ⬅

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

✓ Commit merged in pull request #329


text:
Revert "Ruin fauna"

Reverts ekrixi-14/ekrixi#148
This fucked up roundstart

YOLOMERGE


text:
#95 update manifold to 9990d57

Docker container was compiled and it's working.
Now we can work with Darpa example and get visuals like this one:

Still need to remove zone 14 from sample file.

@Shokman A new commit in Manifold was done to fix another bug with zones. So I'll decline this PR and create a new one.

repo: ekumenlabs/terminus


text:
Feat/more response types

Adds an ApiError type for deserialising REST API errors. There's an enum in there for pulling specific properties of interest off. If it doesn't recognise the response type then it'll just return the serde_json::Value.
Renames Response to QueryResponse and adds GetDocResponse for calls to /index/type/id
Fleshes out Hit type with more meta properties
Uses Hit type by default in Response
Rename fields to not start with an _. In Rust, a field that starts with _ means it's unused and you'll get compiler warnings if you do anything with it. Instead I'm using sere attributes to rename them so they still parse properly

I also ran cargo fmt over the source.
There are a bunch of proposed changes, so feel free to push back on anything you don't agree with.

I also haven't implemented the standard Error trait for ApiError, because I was planning to create an error_chain for this library that would wrap it up. That'll take care of any unwrap()s when parsing aggregations too.

Sorry I probably could've broken this PR up into smaller pieces but I got on a roll :)

I'm going to tweak the error type a bit so it's nicer for pattern matching.

Hmm, now I'm wondering if QueryResponse should really be called SearchResponse...

@KodrAus apologies for the delayed response, have been swamped at work - reviewing now - it looks awesome.

@KodrAus ok, merged, please add yourself to the authors, I think at this point it more accurately reflects the situation :-)

@stephanbuys no problem! I've gotten into a bad habit of starting a PR and then snowballing a bunch of random things into it as I think of them. It makes it hard to focus on certain things so I'll try get out of that :+1:

authors: KodrAus stephanbuys

repo: elastic-rs/elastic-responses


text:
7.13.0 Meta Ticket

Priority Items for 7.13.0
These are the priority items for 7.13.0. The need further review and refinement to identify if changes are required in the client to fully support these use cases.

[x] Registered domain processor #67611 - PR #5616
[x] Convert processor supports validation of IPv4/IPv6 addresses #69989 (issue: #36145) - PR #5588
[x] Introduce combined_fields query #71213 (issue: #41106) - PR #5619
[x] Network direction processor additions #68712 - PR #5603
[x] Summary option for listing ingest pipelines without their definitions #69756 (issue: #31954)
[x] Adds runtime_mappings to SQL requests #71356 (issue: #68116) - PR #5626
[x] Add calculated numeric fields #69531 - PR #5622
[x] New queryable "_tier" metadata field #69288 (issue: #68135) - PR #5606
[x] Add positive_score_impact to rank_features type #69994 (issue: #68619) - PR #5607
[ ] Add support for geo_line aggregation in pivot function #69299
[ ] Support fetching _tier field value #71379 (issues: #63569, #68135)
[x] Allow format sort values of date fields #70357 (issue: #69192) - PR #5610

Once EQL APIs are added

[x] Adds "fields" request field to the eql request #68962 (issue: #68115) - PR #5658
[x] Adds runtime_mappings to EQL requests #71356 (issue: #68116) - PR #5658

Missing NEST APIs

[x] indices.migrate_to_data_stream - PR #5633
[x] indices.promote_data_stream - PR #5636
[x] eql.search - PR #5658
[x] eql.get - PR #5665
[x] eql.delete - PR #5667
[x] eql.get_status - PR #5663
[x] watcher.query_watches - PR #5680

Secondary Items
Additional items for consideration and further refinement.
New features
Features/Ingest
Machine Learning

[ ] Adds new trained model alias API to simplify trained model updates and deployments #68922

Enhancements
Authentication

[ ] Service Accounts - Get service account API #71315
[ ] Service Accounts - token name in response to Authenticate API #71382
[ ] Support metadata on API keys #70292 (issue: #48182)

Distributed

[ ] Add fleet polling API for global checkpoint #71093

Features/Ingest

[ ] Add stats endpoint to GeoIpDownloader #70282 (issue: #68920)

Features/Stats

[ ] Make indices stats requests cancellable #69174 (issue: #55550)
[ ] Make recovery APIs cancellable #69177 (issue: #55550)

MULTIPLE AREA LABELS

[ ] Total data set size in stats #70625 (issue: #69820)

Machine Learning

[ ] Add new delete trained model aliases API #69195
[ ] Add runtime mappings to data frame analytics source config #69183 (issue: #65056)
[ ] Adding new _preview endpoint for data frame analytics #69453
[ ] Adding support for composite aggs in anomaly detection #69970
[ ] Allow datafeed and job configs for datafeed preview API #70836 (issue: #70264)

Mapping

[ ] Allow specify dynamic templates in bulk request #69948 (issue: #61939)
[ ] Expose if a field is a metadata field in the field capabilities response #69977
[ ] Output script stats for indexed fields #71219
[ ] Support fetching flattened subfields #70916 (issue: #70605)

Missing NEST APIs

[ ] autoscaling.get_autoscaling_capacity
[ ] features.get_features
[ ] features.reset_features
[ ] ml.delete_trained_model_alias
[ ] ml.put_trained_model_alias
[ ] ml.preview_data_frame_analytics
[ ] ml.upgrade_job_snapshot
[ ] fleet.global_checkpoints
[ ] ingest.geo_ip_stats
[ ] logstash.delete_pipeline
[ ] logstash.get_pipeline
[ ] logstash.put_pipeline
[ ] rollup.rollup
[ ] searchable_snapshots.cache_stats
[ ] security.clear_cached_service_tokens
[ ] security.create_service_token
[ ] security.delete_service_token
[ ] security.get_service_accounts
[ ] security.get_service_credentials
[ ] shutdown.delete_node
[ ] shutdown.get_node
[ ] shutdown.put_node
[ ] text_structure.find_structure

Priority items completed for 7.13.0.

repo: elastic/elasticsearch-net


text:
Intervals query is missing the option to set Field

Elastic.Clients.Elasticsearch version: 8.14.0
Elasticsearch version:8.12.0
.NET runtime version: .Net core 7.0
Operating system version: Windows 11
Description of the problem including expected versus actual behavior:
In version 8.12 of the client there was a Field method that allowed setting the toplevel field in ther intervals query:
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-intervals-query.html
The code that compiled in version 8.12:
queryDescriptor => queryDescriptor.Intervals(intervalsQueryDescriptor => intervalsQueryDescriptor
.AllOf(intervalsAllOfDescriptor => intervalsAllOfDescriptor
.Intervals(intervalsDescriptor => intervalsDescriptor
.Match(intervalsMatchDescriptor => intervalsMatchDescriptor
.Query($"phrase to match")
.MaxGaps(0).
Ordered(false))))
.Field(x => x.SearchText));
The Field method does not exist in version 8.14
Expected behavior
There is a way to set the top level field.

Hi @asal-hesehus, thanks for reporting. This seems to be a bug in the new code generator.

Fixed in 8.14.1.

Thanks for the fast fix.

authors: asal-hesehus flobernd


text:
reintroduce skipdocs for default build target

Isolated from #4172 and #4191 which both grew to be too big to review

ported to 7.4 and master

authors: Mpdreamz russcam


text:
Update TargetFrameworks

Resolves #8050.

I used nuget restore -ForceEvaluate to update the packages.lock.json files.

Seems like the "Unified Release / Assemble" workflow is failing because of the Docker container using the wrong .NET SDK version.

Thanks for updating!
I think there is/was a bug in the way we pass the argument in the Docker commandline:
https://github.com/elastic/elasticsearch-net/blob/4a6b9e8ebb443f26d3ce9cdfa494292397b4052c/.ci/make.sh#L136

Thanks again for updating. Seems like we are going down a rabbithole... The newer SDKs seem to use different temp paths which causes building the docker image to fail.

The newer SDKs seem to use different temp paths which causes building the docker image to fail.

I think we need to append the user name at the end of the NuGetScrarch folder name. If I understand correctly, this should be user.
https://learn.microsoft.com/en-us/nuget/consume-packages/managing-the-global-packages-and-cache-folders

Maybe we can just set the NUGET_SCRATCH environment variable to /tmp/NuGetScratch to restore the old behavior. Inside the Docker container we only have a single active user anyways.

Looking good now! Thanks again for the PR and the updates. I'll merge on Monday and include the changes in the next patch release.

@flobernd Both .NET 7 and .NET 8 focused on JSON serialisation performance. Did you notice any difference?
Will the patch release also target Elasticsearch 8.6? When do you expect the patch release?

@landlord-matt I don't think there will be any noticeable performance benefits as most of the optimizations are related to the codegen features which we don't use yet (they require code changes).
The patch will only target 8.12, but you should be able to update your 8.6 library to 8.12.1 when it's released. I think we had no major breaking changes since then.
A patch release will happen until end of March.

authors: flobernd gpetrou landlord-matt


text:
Ingest Processors missing optional fields

🐛 Wrong type
Ingest Processors, pretty much all in this list:
https://github.com/elastic/elasticsearch-specification/blob/main/specification/ingest/_types/Processors.ts
Many are missing optional fields. The most important of which are description and tag, which likely should be part of the ProcessorBase, unless there really are any processors that do not support these. But I think they all do.
Definition
If possible provide a snippet with the fix.
 export class AttachmentProcessor extends ProcessorBase {
  field: Field
  ignore_missing?: boolean
  indexed_chars?: long
  indexed_chars_field?: Field
  properties?: string[]
  target_field?: Field
  resource_name?: string
+  remove_binary?: boolean
+ description?: string
+ tag?: string[]
}

Chatted with Sean and I believe our type annotation for tag is correct as string instead of string[]. However description and other properties are missing from some processors.

authors: seanstory sethmlarson

repo: elastic/elasticsearch-specification


text:
Extend Client to Watcher API

It'd be nice to see this client cover the watcher API's as well.
Wiki Reference:
https://www.elastic.co/guide/en/elasticsearch/reference/7.0/watcher-api.html

Hello, absolutely: support for the X-Pack APIs is on the roadmap. It has its own set of REST API specification and tests, and I need to update the generators to work correctly with them.

So, I got curious how to extend the client from the outside, and call a custom endpoint, eg. for one of the API extension plugins, and came up with the following:
//+build ignore

package main

import (
	"io"
	"log"
	"net/http"
	"strings"

	"github.com/elastic/go-elasticsearch"
	"github.com/elastic/go-elasticsearch/esapi"
)

// CustomClient allows to call custom APIs via the elasticsearch client.
//
type CustomClient struct {
	client *elasticsearch.Client
}

// PutWatch registers a new watch or updates an existing one.
//
// https://github.com/elastic/go-elasticsearch/blob/xpack/esapi/xpack/api.watcher.put_watch.go
//
func (c *CustomClient) PutWatch(id string, body io.Reader) (*esapi.Response, error) {
	req, err := http.NewRequest("PUT", "/_watcher/watch/"+id, body)
	if err != nil {
		return nil, err
	}
	req.Header["Content-Type"] = []string{"application/json"}

	res, err := c.client.Perform(req)
	if err != nil {
		return nil, err
	}

	return &esapi.Response{
		StatusCode: res.StatusCode,
		Body:       res.Body,
		Header:     res.Header,
	}, nil
}

func main() {
	es, _ := elasticsearch.NewDefaultClient()
	client := CustomClient{client: es}

	body := strings.NewReader(`
{
	"trigger": { "schedule": { "interval": "10s" } },
	"condition": {  "compare": { "ctx.payload.hits.total": { "gt": 3 } } },
	"input" : {
    "search" : {
      "request" : {
        "indices" : ["test"],
        "body" : {
          "query" : {
            "bool" : {
              "must" : { "match": { "status": 500 } },
              "filter" : { "range": { "@timestamp": { "from": "{{ctx.trigger.scheduled_time}}||-5m", "to": "{{ctx.trigger.triggered_time}}" } } }
            }
          }
        }
      }
    }
  },
	"actions" : {
    "send_email" : {
      "email" : {
        "to" : "example@example.com",
        "subject" : "[ALERT] {{ctx.watch_id}}"
      }
    }
  }
}`)

	log.Println(client.PutWatch("test", body))

	// => 2019/03/30 08:44:51 [201 Created] {"_id":"test","_version":1,"_seq_no":0,"_primary_term":1,"created":true} <nil>
}

Basically, you need to implement a method, like PutWatch() in this example, creating a http.Request with the desired configuration, and pass it to the elasticsearch.Perform() method.
This might be helpful until the full support for X-Pack APIs is added.

Glad to hear it's on the roadmap and thanks for the example 👍 that example will be helpful until then

Here's an even more elegant version, which embeds elasticsearch.Client directly, so you just call the APIs on a single object:
log.Println(client.Info())
log.Println(client.PutWatch("test", body))

--> https://hastebin.com/eqamizaliy.go

I've added a more comprehensive example of extending the clients to custom endpoints here: https://github.com/elastic/go-elasticsearch/tree/master/_examples/extension
I'll keep this issue open and close it when the full X-Pack APIs are added.

@karmi - just curious, would that also include support for the kibana apis?

@phillbaker , there's no immediate plan, we still need to figure out the format of the specification etc., but there are ongoing conversations on how to support the Kibana APIs in the official clients.

I forgot to close this issue — the X-Pack APIs have been added in https://github.com/elastic/go-elasticsearch/commit/6da7fa0091af3419822d692f78575b0ca7244713. See the documentation for the Watcher APIs.

authors: evanfreed karmi phillbaker

repo: elastic/go-elasticsearch


text:
Elasticsearch 7.17.9

Hi,
Since 7.17.3, there is no other version being added.

That would interest me too

authors: ccurdt jloisel

repo: elastic/helm-charts


text:
Improve Overview page for CISO/DPO

This page has potential for improvement: https://elastisys.io/compliantkubernetes/ciso-guide/

Suggested copy update
This part of our open source documentation is intended for CISOs, DPOs or similar. Our goal is to help users of Elastisys Compliant Kubernetes prove to both internal or external auditors that the application runs on top of a secure and compliant platform.
The vision of the project is to secure Europe’s digital future for services critical to society. One very important aspect in order for us to deliver on that vision is to provide best in class documentation for how we enable users to fulfill their security and compliance requirements, control by control.
From the start, Elastisys Compliant Kubernetes has been built based on relevant EU regulations and industri best practices. We've drawn inspiration from, and based architectural decision on information gathered from GDPR, NIS, NIS2, NIST, ENISA, MSB (Swedish Civil Contingencies Agency), BSI (German Federal Office for Information Security), US Department of Defense, industry specific regulations and much more.
Feel free to read the Frequently Asked Questions (FAQ).

Also, could we bring back an update of this design?

[ ] - remove healthcare regulations box
[ ] - Have the following boxes at the top "EU regulations and directives" (NIS2, GDPR), "Security Best Practices" (NIST, DoD) and "Industry Specific Regulations" (2 examples: MDR and ICA/IEC)
[ ] - Update to latest Compliant Kubernetes apps logos

@HansOlofEdblom what do you think about the update copy suggestion?
@gabriellahansson1 could you include making a new illustration as marketing part of this task? Related issue in marketing repo: https://github.com/elastisys/commercial-team/issues/468

@simonekman will include that, if possible during next sprint, otherwise in a spring very soon.

Started making the illustration here: https://www.canva.com/design/DAGGa2jnEm0/pT9aUdD9u1HQfO03LC9VXg/edit?utm_content=DAGGa2jnEm0&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton

repo: elastisys/compliantkubernetes


text:
Keycloak self-managed documentation

Issue: #568
First draft

Alright thank you Christian!
Seems like we should have gone for more of a complete guide!

Alright thank you Christian!
Seems like we should have gone for more of a complete guide!

@Mlundm I think it's good that you asked for early feedback. Why bother with a complete guide if you are not 100% sure you are on the right track. :smile:

authors: AlbinB97 Mlundm cristiklein


text:
Use validator.js?

Try, if it's not too big. Want to keep this lean.

Added capability, but no added dependency to validator.js

repo: elcobvg/svelte-bulma-forms


text:
One time login using authenticator

Adding one time login authenticator and setting it on the Security config.
This authenticator checks every time that the user tryies to access the admin zone if a login-key has been received on the query parameters and if this key is set as "one time login hash" on a user it logs in the current user into the admin panel.
Ping @elcodi/owners

Does it work when no login-key is provided? Looks :+1: for me, then. Good job!

Absolutely yes.

Ping @elcodi/owners I think we have mixed commits from different changesets in this PR
1a375f4
4cd48e6
b461ded
I wouldn't waste time right now separating them and just (as an exception), review them all and accept them as a whole

I think that's my fault. I won't do any more changes until we take a look at this.

All issues should be solved now :)

Changed @mmoreram !

@rogergros rebased and merged. Feel free to remove the branch.
Thanks :)

authors: alch mmoreram rogergros xphere

repo: elcodi/bamboo


text:
Update embedded-hal requirement from 0.2.2 to 1.0.0-rc.1

Hi, I'm using your library in a project that already has the latest version of embedded-hal, so I made the necessary corrections to your library.

This can probably closed with the addition of https://github.com/eldruin/ads1x1x-rs/commit/b3ca672f70c71194da40a7670549a8264c13d971

Indeed @democat3457. Superseeded by #16

authors: democat3457 eldruin jaedson-barbosa


text:
Installation on 2.7 didn't work

I try to install Lychee 2.7 on a Server of jWeiland.net (Domain Factory) without luck. Whatever i tried it fails with "Connection failed, unable to connect...". I installed Piwigo too and it worked without any problems. I used credentials like this:
DB Host: 127.0.0.3
DB Name: db123456_789 (auto-generated from Server)
Passwort: 123abc456def
The Server environment is:
MySQL 5.6
PHP 5.4.16
Besides Piwigo and Lychee in this Server rund Wordpress and TYPO3 without any installation problems and without any other issues.

Can you attach the output of the diagnostics (lychee/plugins/check/index.php)?

Its seems this didn't work: http://sub.domain.de/plugins/check/index.php
Error 001: Configuration not found. Please install Lychee first.

Is there a new table in your database? If not: Could you try to create and specify one in the installation process of Lychee?

No luck, same error as beginning

In which file at which line Lychee tries to connect the database?

It's a basic connection check using mysqli: https://github.com/electerious/Lychee/blob/master/php/modules/Database.php#L81

Have you found a solution?

No, but on Wednesday a good friend of mine will take a look at the code too. May he found a solution.

Let me know when you have news. I will close this issue for now.

Sorry, for my late answer. Working hard to get dbook.org done. So there is no time for me to find the issue.

authors: Aeggy electerious

repo: electerious/Lychee


text:
Error while running .js and .html files with electron-forge start

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] I have searched the issue tracker for an issue that matches the one I want to file, without success.

Please describe your issue:
I have created an electron application using electron-forge and imported the .js and .html I have created for a later electron app. The app is starting without any problems when using electron-forge start but if I want to call a new .html file it gives me an error-I can't view it.
But if I start the app with electron . it does load all .html and .js and works without any problems.

Console output when you run electron-forge with the environment variable DEBUG=electron-forge:*. (Instructions on how to do so here). Please include the stack trace if one exists.
This I get if running electron-forge start:

Warning, the following targets are using a decimal version:

  electron: 1.6

We recommend using a string for minor/patch versions to avoid numbers like 6.10
getting parsed as 6.1, which can lead to unexpected behavior.

This I get if trying to open the other .html file in the running application:

Failed to compile /home/.../team.html: /home/.../team.html:inline_2.js: Adjacent JSX elements must be wrapped in an enclosing tag (12:6)

This I get if running electron-forge lint:

✖ 153982 problems (150369 errors, 3613 warnings)
  116545 errors, 0 warnings potentially fixable with the `--fix` option.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! app@1.0.0 lint: `eslint src "--color"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the app@1.0.0 lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/adminklui/.npm/_logs/2017-07-25T14_43_56_944Z-debug.log

What command line arguments are you passing?
1. To import the project: electron-forge import (I tried the same electron-forge init and added the files afterwards-didn't work either)

2. electron-forge start
3. electron-forge lint

What does your config.forge data in package.json look like?
"config": {
    "forge": {
      "make_targets": {
        "win32": [
          "squirrel"
        ],
        "darwin": [
          "zip"
        ],
        "linux": [
          "deb",
          "rpm"
        ]
      },
      "electronPackagerConfig": {},
      "electronWinstallerConfig": {
        "name": ""
      },
      "electronInstallerDebian": {},
      "electronInstallerRedhat": {},
      "github_repository": {
        "owner": "",
        "name": ""
      },
      "windowsStoreConfig": {
        "packageName": ""
      }
    }
  }

Please provide either a failing minimal testcase (with a link to the code) or detailed steps to
reproduce your problem. Using electron-forge init is a good starting point, if that is not the
source of your problem.
The problem is I think related to issue #66 by @AhadCove and @MarshallOfSound

I managed to solve the problem-it was due to a syntax error in my .html file :)

repo: electron-userland/electron-forge


text:
[Bug] The browser opened when [vite] page reload

The browser opened when [vite] page reload
The browser will open when [vite] page reload
下午2:42:15 [vite] hmr update /src/view/function/todo/todo-navigator.vue
下午2:42:16 [vite] hmr update /src/view/function/todo/todo-navigator.vue
下午2:42:25 [vite] page reload src/service/BaseService.ts
下午2:42:25 [vite] hmr update /src/view/function/todo/todo-navigator.vue
下午2:42:27 [vite] page reload src/service/BaseService.ts

When I change the non-vue file like BaseService.ts，the page will reload and open browser.
That is not a good experience in electron project, is there any suggestion to slove this problem?
thx

This feature is not available by default, did you change something?

authors: caoxiemeihao simo-an

repo: electron-vite/electron-vite-vue


text:
Add docs on how electron-rebuild works with prebuild-install

I think some docs is in order. The support for prebuild-install is completely hidden in the code.
Closes https://github.com/electron/electron-rebuild/issues/229
cc @juliangruber @vweevers

Hello?

👋

authors: ralphtheninja zeke

repo: electron/electron-rebuild


text:
Latest releases not visible in electronjs.org/releases/

https://electronjs.org/releases shows older betas, but not 2.0.0-beta.8.
Likewise it shows 1.8.4 but not 1.8.5 or 1.8..6

https://github.com/electron/releases#releases looks right, so it must be an issue in our dependency updater thingy. I will take a look later today.

authors: ckerr zeke


text:
[refactor] Tidy symmetrization functions

Gather all symmetrization functions in one place and make them standalone (not belonging to a class).

@toxa81 The .symmetrize.. functions are not used anymore python, it's ok to remove them. I've just deleted the commented lines.

repo: electronic-structure/SIRIUS


text:
Error: Parse error @:4:24

version："^0.4.1"
configureWebpack: (config) => {
config.plugins = [
require('unplugin-element-plus/webpack')({
// options
useSource:true
})
]
},
npm run serve
error:
Error: Parse error @:4:24
at parse (/Users/mike/learn-pro/vue3-el-plus/node_modules/_es-module-lexer@0.10.5@es-module-lexer/dist/lexer.cjs:1:404)
at transformStyle (/Users/mike/learn-pro/vue3-el-plus/node_modules/_unplugin-element-plus@0.4.1@unplugin-element-plus/dist/chunk-DAGBP3HE.js:46:43)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at runNextTicks (node:internal/process/task_queues:65:3)
at processImmediate (node:internal/timers:437:9)
at async Object.transform (/Users/mike/learn-pro/vue3-el-plus/node_modules/_unplugin@0.7.2@unplugin/dist/webpack/loaders/transform.js:75:15) {
idx: 84
}

We temporarily close this due to the lack of enough information. Please provide a minimal reproduction to reopen the issue. Thanks.
https://antfu.me/posts/why-reproductions-are-required

Try to upgrade your node version to latest LTS which is node 18

authors: ITLiuQing sxzz

repo: element-plus/unplugin-element-plus


text:
FileUpload assumes uploading an image

It looks like the FileUpload component assumes that I will upload an image, because it tries to display what I upload as a data URI. But it's possible I will upload something that cannot be represented by an <img> element, so I think it should be possible to disable this behavior. Or, maybe the component should figure out whether the uploaded thing can be displayed. Or, maybe it should be possible to specify fallback images to represent exotic file types. Basically, anything other than this behavior for non-images would be preferable:

FileUpload was a proof of concept I'm afraid. Would love a PR to clean it up if you're interested?

authors: jacksonrayhamilton jossmac

repo: elementalui/elemental


text:
🛑 CRL is down

In 549a15d, CRL (http://crl.thalesgroup.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: CRL is back up in 84fddda.

repo: elepallec-th/upptime


text:
replace sha1

SHA1 is no longer considered secure and should be replaced, e.g. with SHA256.
This is generally something that may happen again, so the users table should get an additional column "hashtype", with initially would be prefilled with "sha1" everywhere and all users would be migrated to "sha256" upon their next login.

python to the rescue: secure password hashing with hashlib.pbkdf2_hmac in the standard library :)
The somewhat dated LTS versions of Ubuntu (16.04LTS) and Debian (stretch) are shipping with Python versions 3.6 and 3.5, respectively. So, maybe not using scrypt might be a good idea (for the time being).
In any case,

the current situation should be addressed
and the magic-prefix-column is then still needed

authors: iiegn mjakubicek

repo: elexis-eu/lexonomy


text:
🛑 UNER - DDJJ is down

In 5016b46, UNER - DDJJ (https://autogestion.uner.edu.ar/) was down:

HTTP code: 502
Response time: 1008 ms

Resolved: UNER - DDJJ is back up in 2ce6ccb.

repo: elfoche/monitoreo


text:
🛑 MCU - GTH is down

In 81f0275, MCU - GTH (http://produccion.cdeluruguay.gob.ar/GTH/forms/login.jsp) was down:

HTTP code: 0
Response time: 0 ms

Resolved: MCU - GTH is back up in 2d8c8cd.


text:
MSID: 92914 Version: 2 DOI: 10.1101/2022.03.11.483978

MSID: 92914
Version: 2
Preprint DOI: https://doi.org/10.1101/2022.03.11.483978
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=92914
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2022.03.11.483978

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/92914v2
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2022.03.11.483978
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/92914/v2/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

Urgh - this one is a mess.

(Need to check is XSL is still needed for equations in annexe 1)

Urgh - we need an xsl to handle the display equation bug

authors: fred-atherden nlisgo

repo: elifesciences/enhanced-preprints-import


text:
MSID: 87039 Version: 2 DOI: 2023.02.15.528756

[PLACE MANUSCRIPT AND EDITOR DETAILS HERE WHEN AVAILABLE] See step 3
[PLACE PDF URL HERE WHEN AVAILABLE] See step 7
Step 1. Inform bioRxiv
Who can help: @QueenKraken, @nlisgo, @scottaubrey

[ ] Manuscript is in data hub index (https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v1/by-publisher/elife/get-by-manuscript-id?manuscript_id=87039)

or (only one should be ticked. remove other from description.)

[ ] Confirmed with Ted at bioRxiv that MECA archive is available

Send the following email to Ted and wait for his reply.
Hi Ted,

Please can you prepare the preprint MECA for 10.1101/2023.02.15.528756

Thanks

Step 2. Create preview of manuscript
Who can help: @fred-atherden, @nlisgo, @scottaubrey

[ ] Manuscript is available for preview (https://prod--epp.elifesciences.org/preview/87039/v2)

[ ] Trigger import for staging: https://prod--epp.elifesciences.org/import
[ ] Sync data folder with s3://prod-elife-epp-data/data
[ ] Trigger import for staging: https://staging--epp.elifesciences.org/import
[ ] Sync data folder with s3://staging-elife-epp-data/data
[ ] Pull request created to enhanced-preprint-data
[ ] Post link to pull request below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-manuscript
Step 3: Awaiting public reviews
Who can help: Editorial team

[ ] Public reviews available on sciety (https://sciety.org/articles/activity/10.1101/2023.02.15.528756)
[ ] Manuscript and editor details at the top of this issue (Supplied by Editorial team)
[ ] Reviews returned by EPP - https://prod--epp.elifesciences.org/api/reviewed-preprints/87039/v2/reviews

Example
"msas": "Genetics and Genomics", "Neuroscience"
"msid": "84628"
"version": "1"
"preprintDoi": "10.1101/2022.10.28.514241"
"articleType": "Reviewed Preprint"
"status": "Published from the original preprint after peer review and assessment by eLife."

"Reviewed Preprint posted": "2023-01-02"
"Sent for peer review": "2022-10-28"
"Posted to bioRxiv": "2022-11-21" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2022.10.28.514241v1")

Editors:
Reviewing Editor
Michael B Eisen
University of California, Berkeley, United States
Senior Editor
Michael B Eisen
University of California, Berkeley, United States

Step 4: Modify manuscripts.json (no PDF)

[ ] Reviewed preprint is published to EPP (https://elifesciences.org/reviewed-preprints/87039)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[ ] Request that a doi be registered

[ ] Post link to #enhanced-preprint comment below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]

Instructions to modify manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/publish-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/334/files
Once the pull request is merged in it should be available a few minutes later.

Request that a doi
Post the following in #enhanced-preprint:
@Fred can you register a doi for https://elifesciences.org/reviewed-preprints/87039

Step 5: Awaiting search reindex

[ ] Reviewed preprint is avaliable on journal homepage (https://elifesciences.org)

The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.

Additional info
If needed, the jenkins pipeline to reindex search can be triggered sooner.
https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 6: Published! Request PDF generation

[ ] Post the link to the PDF url at the top of the issue

[ ] Post link to #enhanced-preprint comment below

#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]
Post the following to the #enhanced-preprint on slack:
@Ryan Dix-Peek please can you generate a PDF for https://elifesciences.org/reviewed-preprints/87039

Step 7: Introduce PDF to data folder and git repo

[ ] PDF is avaliable at https://github.com/elifesciences/enhanced-preprints-data/raw/master/data/87039/v2/87039-v2.pdf

Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-pdf
Step 8: Add PDF url to manuscripts.json

[ ] Reviewed preprint PDF is available for download (https://prod--epp.elifesciences.org/reviewed-preprints/87039)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[PLACE LINK TO PULL REQUEST HERE]

Instructions to add PDF url to manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/add-pdf-url-to-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/397/files
Once the pull request is merged in it should be available a few minutes later.

Step 9: Done!

[ ] Kettle is on!

(V2 should use preprint V2)

authors: acollings nlisgo


text:
MSID: 88294 Version: 1 DOI: 2023.05.29.542712

"msas": "Ecology
"msid": "88294"
"preprintDoi": "10.1101/2023.05.29.542712"
"Reviewed Preprint posted": "2023-08-02"
"Sent for peer review": "2023-04-18"
"Posted to bioRxiv": "2023-05-31" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2023.05.29.542712v1/")
[PLACE PDF URL HERE WHEN AVAILABLE] See step 7
Step 1. Inform bioRxiv
Who can help: @QueenKraken, @nlisgo, @scottaubrey

[x] Manuscript is in data hub index (https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v1/by-publisher/elife/get-by-manuscript-id?manuscript_id=88294)

Step 2. Create preview of manuscript
Who can help: @fred-atherden, @nlisgo, @scottaubrey

[ ] Manuscript is available for preview (https://prod--epp.elifesciences.org/preview/88294/v1)

[ ] Trigger import for staging: https://prod--epp.elifesciences.org/import
[ ] Sync data folder with s3://prod-elife-epp-data/data
[ ] Trigger import for staging: https://staging--epp.elifesciences.org/import
[ ] Sync data folder with s3://staging-elife-epp-data/data
[ ] Pull request created to enhanced-preprint-data
[ ] Post link to pull request below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-manuscript
Step 3: Awaiting public reviews and QC
Who can help: Production team

[ ] QC passed or QC not needed

Who can help: Editorial team

[x] Public reviews available on sciety (https://sciety.org/articles/activity/10.1101/2023.05.29.542712)
[x] Manuscript and editor details at the top of this issue (Supplied by Editorial team)
[ ] Reviews returned by EPP - https://prod--epp.elifesciences.org/api/reviewed-preprints/88294/v1/reviews

Example
"msas": "Genetics and Genomics", "Neuroscience"
"msid": "84628"
"version": "1"
"preprintDoi": "10.1101/2022.10.28.514241"
"articleType": "Reviewed Preprint"
"status": "Published from the original preprint after peer review and assessment by eLife."

"Reviewed Preprint posted": "2023-01-02"
"Sent for peer review": "2022-10-28"
"Posted to bioRxiv": "2022-11-21" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2022.10.28.514241v1")

Editors:
Reviewing Editor
Michael B Eisen
University of California, Berkeley, United States
Senior Editor
Michael B Eisen
University of California, Berkeley, United States

Step 4: Modify manuscripts.json (no PDF)

[ ] Reviewed preprint is published to EPP (https://elifesciences.org/reviewed-preprints/88294)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[ ] Request that a doi be registered

[ ] Post link to #enhanced-preprint comment below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]

Instructions to modify manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/publish-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/334/files
Once the pull request is merged in it should be available a few minutes later.

Request that a doi
Post the following in #enhanced-preprint:
@Fred can you register a doi for https://elifesciences.org/reviewed-preprints/88294

Step 5: Awaiting search reindex

[ ] Reviewed preprint is avaliable on journal homepage (https://elifesciences.org)

The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.

Additional info
If needed, the jenkins pipeline to reindex search can be triggered sooner.
https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 6: Published! Request PDF generation

[ ] Post the link to the PDF url at the top of the issue

[ ] Post link to #enhanced-preprint comment below

#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]
Post the following to the #enhanced-preprint on slack:
@Ryan Dix-Peek please can you generate a PDF for https://elifesciences.org/reviewed-preprints/88294

Step 7: Introduce PDF to data folder and git repo

[ ] PDF is avaliable at https://github.com/elifesciences/enhanced-preprints-data/raw/master/data/88294/v1/88294-v1.pdf

Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-pdf
Step 8: Add PDF url to manuscripts.json

[ ] Reviewed preprint PDF is available for download (https://prod--epp.elifesciences.org/reviewed-preprints/88294)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[PLACE LINK TO PULL REQUEST HERE]

Instructions to add PDF url to manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/add-pdf-url-to-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/397/files
Once the pull request is merged in it should be available a few minutes later.

Step 9: Done!

[ ] Kettle is on!

eLocation ID missing from some refs

authors: naushinthomson nlisgo


text:
Example code (in codesandbox) is wrong, and doesn't work even after fixing it

I need to use the directive mode, however, it doesn't work.
I noticed the codesandbox (here) has an example using the directive mode. You should just need to comment out <component-example/> and uncomment the directive one.
However the code for DirectiveExample.vue is wrong, it should be:
<template>

vue-code-highlight example

          let isPalindrome = (word) => {
            let [length, result] = [word.length, true];
            for (let i = 0; i < length / 2; i++) {
            if (word[i] !== word[length - 1 - i]) result = false;
            }
            return result;
            }
            module.exports = isPalindrome;

</template>

But it gives wrong result (i.e., no syntax highlight)

The repository got quite outdated during the years. I will need to update it to newer setup, esp. vue–cli-service version and get rid of some obsolete code. This should fix the issue.

repo: elisiondesign/vue-code-highlight


text:
validate_number doesn't accept a number that starts with a .

Precheck

Do not use the issues tracker for help or support requests (try Stack Overflow, IRC or mailing lists, etc).
For proposing a new feature, please start a discussion on elixir-ecto.
For bugs, do a quick search and make sure the bug has not yet been reported.
Finally, be nice and have fun!

Environment

Elixir version (elixir -v):
Database and version (PostgreSQL 9.4, MongoDB 3.2, etc.):
Ecto version (mix deps):
Database adapter and version (mix deps):
Operating system:

Current behavior
Using validate_number rejects any number that starts with a decimal. I have to add a 0 before.
Expected behavior
I want to have validate_number accept .25.

Nvm. .25 is just invalid elixir.

repo: elixir-ecto/ecto


text:
$1 positional argument duplicated in a query using named bindings and nested cte

Environment

Elixir version (elixir -v): Elixir 1.11.0 (compiled with Erlang/OTP 23)
Database and version (PostgreSQL 9.4, MongoDB 3.2, etc.): PostgreSQL (all version are affected)
Ecto version (mix deps): ecto 3.5.2, ecto_sql 3.5.1,
Database adapter and version (mix deps): postgrex 0.15.6
Operating system: mac

Current behavior
In a query using with_cte and named bindings,

Elixir query
    %Postgrex.Interval{} = interval = Dashboards.appropriate_interval(date_range)
    IO.inspect(interval, label: "interval")

    agg_values =
      Value.with_sensors(widget)
      |> OrganizationSensor.with_org_sensor(opts)
      |> join(:inner, [v], stm in subquery(Widget.Measurement.measurements_query(widget)),
        as: :stm,
        on: stm.measurement == v.measurement_name
      )
      |> group_by([_], fragment("1, 2, 3"))
      |> where([v], v.timestamp >= ^date_range.start and v.timestamp <= ^date_range.end)
      |> select([v, org_sensor: os, stm: stm], %{
        bucket: time_bucket(^interval, v.timestamp),
        sensor_name: os.name,
        measurement: stm.measurement,
        value: avg(v.value)
      })
      |> IO.inspect(label: "agg_values")

    "agg_values"
    |> with_cte("agg_values", as: ^agg_values)
    |> group_by([_], fragment("1, 2"))
    |> order_by([_], fragment("1 DESC"))
    |> select([agg_v], %{
      bucket: agg_v.bucket,
      sensor_name: agg_v.sensor_name,
      measurement_names: array_agg(agg_v.measurement),
      values: array_agg(agg_v.value)
    })
    |> IO.inspect(label: "final query")

$1 positional argument is duplicated:

Generated SQL
WITH "agg_values" AS (
WITH "sensors_cte" AS (
		SELECT
			s3. "id" AS "id",
			s3. "identifier" AS "identifier",
			s3. "name" AS "name",
			s3. "description" AS "description",
			s3. "lat" AS "lat",
			s3. "lon" AS "lon",
			s3. "custom_config" AS "custom_config",
			s3. "config" AS "config",
			s3. "image" AS "image",
			s3. "sensor_type_id" AS "sensor_type_id",
			s3. "inserted_at" AS "inserted_at",
			s3. "updated_at" AS "updated_at"
		FROM
			"groups" AS g0
		INNER JOIN (
				SELECT
					sg0. "id" AS "id",
					sg0. "path" AS "path"
				FROM
					"groups" AS sg0
				WHERE (sg0. "id" = $1)) AS s1 ON (g0. "id" = s1. "id")
			OR ARRAY [g0."id"] <@ s1. "path"::uuid []
		INNER JOIN "groups_sensors" AS g2 ON g2. "group_id" = g0. "id"
		INNER JOIN "sensors" AS s3 ON s3. "id" = g2. "sensor_id"
)
	SELECT
		to_timestamp((extract('epoch' FROM v0. "timestamp")::int + extract('epoch' FROM $1::interval)::int / 2) / extract('epoch' FROM $2::interval)::int * extract('epoch' FROM $3::interval)::int) AS "bucket", s2. "name" AS "sensor_name", s3. "measurement" AS "measurement", avg(v0. "value") AS "value"
	FROM
		"values" AS v0
	INNER JOIN "sensors_cte" AS s1 ON v0. "sensor_id" = s1. "id"
	INNER JOIN (
			SELECT
				ss0. "organization_id" AS "organization_id",
				ss0. "sensor_id" AS "sensor_id",
				ss0. "public?" AS "public?",
				ss0. "owner?" AS "owner?",
				ss0. "name" AS "name"
			FROM
				"sensors_organizations" AS ss0
			WHERE (ss0. "organization_id" = $5)) AS s2 ON s1. "id" = s2. "sensor_id"
	INNER JOIN (
			SELECT
				DISTINCT ON (ss0. "measurement") ss0. "sensor_type_id" AS "sensor_type_id", ss0. "measurement" AS "measurement"
			FROM
				"sensor_types_measurements" AS ss0
			INNER JOIN "sensors_cte" AS ss1 ON ss0. "sensor_type_id" = ss1. "sensor_type_id"
			WHERE (ss0. "measurement" = ANY ($6))) AS s3 ON s3. "measurement" = v0. "measurement_name"
	WHERE ((v0. "timestamp" >= $7)
		AND (v0. "timestamp" <= $8))
GROUP BY
	1, 2, 3
)
SELECT
	a0. "bucket", a0. "sensor_name", array_agg(a0. "measurement"), array_agg(a0. "value")
FROM
	"agg_values" AS a0
GROUP BY
	1,
	2
ORDER BY
	1 DESC;

-- [<<90, 162, 192, 59, 49, 45, 79, 234, 191, 99, 43, 176, 13, 187, 13, 141>>, %Postgrex.Interval{days: 0, microsecs: 0, months: 0, secs: 3600}, %Postgrex.Interval{days: 0, microsecs: 0, months: 0, secs: 3600}, %Postgrex.Interval{days: 0, microsecs: 0, months: 0, secs: 3600}, <<253, 177, 73, 44, 149, 76, 66, 158, 149, 75, 60, 62, 86, 129, 199, 56>>, ["gps_err", "lat_deg", "lon_deg", "temp"], ~U[2020-03-01 00:00:00Z], ~U[2020-03-14 23:59:59Z]]

Expected behavior
$1 is not duplicated in the query.

I'll try to come up with a small reproducible example.

Thanks @syfgkjasdkn! To be clear, it is duplicated when it should not. One should be $1 and the other should be $2, correct? Btw, it would help me a lot if you can reduce this examples a bit further (although you already did a great job in reducing it). :)

Hi @josevalim!

One should be $1 and the other should be $2, correct?

Yes, otherwise the time_bucket macro which is expanded to
to_timestamp((extract('epoch' FROM v0. "timestamp")::int + extract('epoch' FROM $1::interval)::int / 2) / extract('epoch' FROM $2::interval)::int * extract('epoch' FROM $3::interval)::int)

receives $1 instead of of $2, and that's a problem since $1 is a sensor uuid, and $2 is an interval.

Btw, it would help me a lot if you can reduce this examples a bit further

I'm still reducing it :) I think the problem starts to appear when there are 3 nested CTEs.

@josevalim Hi! I'm sorry to bother you, but would it be possible to cut a release with this fix? Please :)

Done.

authors: josevalim syfgkjasdkn


text:
Raise error when using where in on_conflict with MySQL

Solution as discussed in #2450.
I also added a spec for :conflict_target on MySQL (which was otherwise untested) to build some confidence before adding my own spec for changed behaviour.

:heart: :green_heart: :blue_heart: :yellow_heart: :purple_heart:

authors: derekkraan josevalim