Addressing some issues

Description

Related issues

Type of change

[x] Bug fix (non-breaking change which fixes an issue)

Changes Made

splitting url parsing  into function to avoid mccabe complexity
we should support also text/plain
using bytesIO
fix seting environment variables
make use of pathlib

Testing

[x] Unit Tests

Mentions

for testing it is enough to test those are called and it covers 89% of it which is ok.
to see which lines are not covered run pytest -x --cov=validator --cov-report=html tests
tested with:
xml-validate -v https://raw.githubusercontent.com/enasequence/schema/master/src/test/resources/uk/ac/ebi/ena/sra/xml/study/SRP000539.xml https://raw.githubusercontent.com/enasequence/schema/master/src/main/resources/uk/ac/ebi/ena/sra/schema/SRA.study.xsd

does not work because cannot get link to common but urls accessible

xml-validate -v https://raw.githubusercontent.com/enasequence/schema/master/src/test/resources/uk/ac/ebi/ena/sra/xml/study/SRP000539.xml ftp://ftp.ebi.ac.uk/pub/databases/ena/doc/xsd/sra_1_5/SRA.study.xsd

above works

If there was really need to check the responses we could have mocked the FTP class and its methods something along the lines (of course with the proper parameters - see https://docs.python.org/3/library/ftplib.html#ftp-objects) but don't think it is necessary.
class MockFTP:

  def login(self):
     pass

  def retrbinary(self):
     pass

  def close(self):
     pass

tested with:
xml-validate -v https://raw.githubusercontent.com/enasequence/schema/master/src/test/resources/uk/ac/ebi/ena/sra/xml/study/SRP000539.xml https://raw.githubusercontent.com/enasequence/schema/master/src/main/resources/uk/ac/ebi/ena/sra/schema/SRA.study.xsd

does not work because cannot get link to common but urls accessible

Yea I noticed this can happen and figured it should probably just be up to the user to provide the proper schema resources. Hence, the very last exception:
    except xmlschema.exceptions.XMLSchemaException as err:
        if not verbose:
            click.echo("\nValidation ran into an unexpected error." +
                       " Run command with --verbose option for more details\n")
        else:
            click.echo(f"Error: {err}")

However even with that, the above URLs result in this output:
/Users/user/metadata-submitter-tools/venv/lib/python3.6/site-packages/xmlschema/documents.py:42: XMLSchemaImportWarning: Import of namespace 'SRA.common' from ['SRA.common.xsd']
failed: cannot access to resource 'file:///Users/user/metadata-submitter-tools/tests/test_files/SRA.common.xsd':
[Errno 2] No such file or directory: '/Users/jmakine/metadata-submitter-tools/tests/test_files/SRA.common.xsd'.
  base_url=base_url, defuse=defuse, timeout=timeout)

Validation ran into an unexpected error. Run command with --verbose option for more details

Is that fine? It looks a bit ugly that the warning shows up but it's not necessarily broken.

it is not a user error not a software error we do what we can we that, i think that is ok. because in verbose it mentions.
Error: missing base type '{SRA.common}ObjectType':

Schema:

  <xs:extension xmlns:xs="http://www.w3.org/2001/XMLSchema" base="com:ObjectType">
    <xs:sequence>
      <xs:element maxOccurs="1" minOccurs="1" name="DESCRIPTOR" nillable="false">
        <xs:complexType>
          <xs:all minOccurs="0">
            <xs:element maxOccurs="1" minOccurs="1" name="STUDY_TITLE" type="xs:string">
              <xs:annotation>
                <xs:documentation>
                    Title of the study as would be used in a publication.
                </xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element maxOccurs="1" minOccurs="1" name="STUDY_TYPE">
              <xs:annotation>
                <xs:documentation>The STUDY_TYPE presents a controlled vocabulary for expressing the overall purpose of the study.</xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:attribute name="existing_study_type" use="required">
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
    ...
    ...
  </xs:extension>

Path: /xs:schema/xs:complexType[1]/xs:complexContent/xs:extension


bisection_timestamp_search returns the index closest and SMALLER than the query

The bisection search used in this line returns the index closest and smaller than the query rather than the one closest to it.
See example below
timed_data = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
query_timestamp_ns = 2.9

# If this is safe we perform the Bisection search
start = 0
end = len(timed_data) - 1
while start < end:
    mid = (start + end) // 2
    mid_timestamp = timed_data[mid]
    if mid_timestamp == query_timestamp_ns:
        start = mid
        break
    if mid_timestamp < query_timestamp_ns:
        start = mid + 1
    else:
        end = mid - 1

print(start, timed_data[start])  # it prints 0 1

timed_data = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
query_timestamp_ns = 1.1

# If this is safe we perform the Bisection search
start = 0
end = len(timed_data) - 1
while start < end:
    mid = (start + end) // 2
    mid_timestamp = timed_data[mid]
    if mid_timestamp == query_timestamp_ns:
        start = mid
        break
    if mid_timestamp < query_timestamp_ns:
        start = mid + 1
    else:
        end = mid - 1

print(start, timed_data[start]) # This also prints 0 1

A proposed fix for the problem:
def bisection_timestamp_search(timed_data, query_timestamp_ns: int) -> int:
    """
    Binary search helper function, assuming that timed_data is sorted by the field names 'tracking_timestamp'
    Returns index of the element closest to the query timestamp else returns None if not found (out of time range)
    """
    # Deal with border case
    if timed_data and len(timed_data) > 1:
        first_timestamp = timed_data[0].tracking_timestamp.total_seconds() * 1e9
        last_timestamp = timed_data[-1].tracking_timestamp.total_seconds() * 1e9
        if query_timestamp_ns <= first_timestamp:
            return None
        elif query_timestamp_ns >= last_timestamp:
            return None
    # If this is safe we perform the Bisection search
    start = 0
    end = len(timed_data) - 1
    while start < end:
        mid = (start + end) // 2
        mid_timestamp = timed_data[mid].tracking_timestamp.total_seconds() * 1e9
        if mid_timestamp == query_timestamp_ns:
            return mid
        if mid_timestamp < query_timestamp_ns:
            start = mid + 1
        else:
            end = mid - 1

    # Get the value that is actually closest to the query timestamp
    if start + 1 < len(timed_data):
        start_timestamp = timed_data[start].tracking_timestamp.total_seconds() * 1e9
        start_plus_1_timestamp = timed_data[start + 1].tracking_timestamp.total_seconds() * 1e9
        if abs(start_timestamp - query_timestamp_ns) > abs(start_plus_1_timestamp - query_timestamp_ns):
            start = start + 1

    return start

Thank you, we will take a look to your code, or please do a PR for integration
We are also recommending to use the mpsDataProvider https://github.com/facebookresearch/projectaria_tools/blob/85ce9676fa2164ee13bcb926bfd1a87dbf6f4515/core/python/MpsPyBind.h#L530


Implement a Program Serialization method

Implement a public method to the Program struct that serializes it.
The method should return a SerdeJson Value that is saved in memory.

Hello, may I take this?


Gradle DSL method not found: 'implementation()'

Gradle DSL method not found: 'implementation()'
Possible causes:
The project 'My Application' may be using a version of the Android Gradle plug-in that does not contain the method (e.g. 'testCompile' was added in 1.1.0).
Upgrade plugin to version 4.0.0 and sync project
The project 'My Application' may be using a version of Gradle that does not contain the method.
Open Gradle wrapper file
The build file may be missing a Gradle plugin.
Apply Gradle plugin

可以百度的麻烦不要来浪费别人的时间,谢谢


Project Manager: Project Switch speedup - block signals during full project refresh

Brief description
A follow up to #3216 to see if this speeds up more.
This speeds up going into large projects by a lot on my end - but I haven't done thorough testing whether everything still works.
This block signals on the Model during a full project refresh
Testing notes:

please confirm the UI still works as expected.

Isn't this duplicate of https://github.com/pypeclub/OpenPype/pull/3216 ?

Wait... what?

Sorry about this. I managed to write an exact duplicate of your lines of code somehow and likely must have done my test run of the other PR incorrectly.


Load items on scroll top AND scroll bottom

Hi everyone!
Is it possible to give an extra parameter to the loadMore function, so I can know if it's pulled from the top or scrolled to the bottom?
I'm making a Mail-webclient and initialize the list of Mails with the first 25 mails.
When I scroll down I want to load the next 25, ...
But when I scroll to the top I want to load the first page again.
Is this possible in any way?
The page-number is always additioning so... :/

This is something you're going to have to manage with your own logic. It sounds like you're hiding the first set of items, and showing the next page, and then expecting the component to tell you what to do. I'd recommend forking the repo and changing the logic in the scroll listener
bottomOffset = // the existing logic for checking whether scrolling has passed threshold
topOffset = // duplicate the logic but check whether you're near the top

if(bottomOffset < Number(this.props.threshold)) {
    // Call load more function with a 'bottom' arg
} else if(topOffset < Number(this.props.threshold)) {
    // Call load more function with a 'top' arg
}


Clicking the "i" on the stream page forwards to the wrong URL

Forwards the user to
https://theorangealliance.org/events/"String Name of Event(with spaces)"
should go to
https://theorangealliance.org/events/1718-STATE-EVENTCODE

This is a problem in the API
@kyle-flynn


Fix typos in legacy input system code

While testing https://github.com/CesiumGS/cesium-unity/pull/272 I got compilation errors due to typos in the legacy input code in CesiumSamplesSubSceneManager. This fixes those typos. It also seems like the #define I was checking doesn't exist when only the legacy input system is used, so I removed the check.

Tested, it fixes the compile errors when switching to the legacy input.


Workaround updating Touch ID protected item in iOS 8.0 (not 8.1+)

Coverage decreased (-0.21%) when pulling e560ac705a4c96d8d94a702be83ff81ff08fcb4b on fix_8_0 into 9f7ed0bf080eb178662d0be9311f1fd38e38fdea on master.


Fix a bug in form field filtering

Fixes #204
The original implementation of the inputs_for_filters function indiscriminately zipped together the fields requested for filtering with their corresponding options without verifying if each field was actually permitted for filtering based on the form's schema.
If the fields requested were [1,2,3] and to_form returned only [2,3] then these two lists would be zipped together resulting in something like [[1,2], [2,3]] instead of [1,1],[2,2].
To fix loop through the fields individually, call to_form on them and only combine them with the opts if to_form returns something.

no, there is a problem yet, since calling to_form individually will result in all fields having index=0.
Maybe have a look how you would fix the issue with zip best.

Thank you for opening the PR. I didn't have a close look at your changes yet, but one way to solve this might be to pass the index to the to_form function as an option.

Thank you for opening the PR. I didn't have a close look at your changes yet, but one way to solve this might be to pass the index to the to_form function as an option.

Yes, that was my first thought to just use the offset parameter, but then there will be still gaps in the indexes.
So I was too tired to continue looking, but in the end I thought that probably there is no way around restructuring the to_form function.


build error- loop did not match anything at input

Was trying to build an obfuscated apk and a small change in the smali file caused build failure. But even after removing the change from the edited smali to the previous original smali, apktool is giving same error ie, loop did not match anything at input '?'. exception in thread "main" brut.androlib.AndrolibException:   Could not smali file: o/?.smali
BTW, I searched whole smali folder but I cant find ?.smali. Not sure I missed it or not but I searched it multiple times. Not sure the file even exist.
Simply saying, app was recompiling before making a small change in a smali file but after doing it, the above mentioned error started coming. But even after removing the change from that particular smali file, apktool is giving same error on next build attempts. using apktool 2.0.3

Seems to be a UTF8/locale issue here. During decode you couldn't represent the characters needed (Obfuscation using plenty strange ones)

Tried manual smali method without apktool. then too, same issue. if no changes are made to the smali files, it will build without any issue. but even if a small change is made and then we delete that change, even then it will not backsmali. So this is a a UTF8/locale issue?

btw, here's the exact error message.
test.apk\o?.smali[1,0] required <...>+ loop did not match anything at input '?'

I'm having a hard time understanding what you are saying. Why don't you just upload the apk and let me investigate if I can build/decode.

sorry, here's the app link
https://play.google.com/store/apps/details?id=com.in.hammervpn
here's the apk link http://dl3.apk-dl.com/root/apk/2015/12/27/com.in.hammervpn_28.apk?f=Hammer VPN -  Anti - DPI VPN_apk-dl.com.apk

You were right. It was a UTF encoding issue. Finally I used notepad++ and used the option convert to UTF-8(encoding menu) and it successfully compiled. Might be useful for somebody in the future. Thanks for the help.


Atbash Cipher

Before jumping into Pr first comment for assign.All Problem from Edabit. Link is mandatory to add
Problem statement: The Atbash cipher is an encryption method in which each letter of a word is replaced with its "mirror" letter in the alphabet: A <=> Z; B <=> Y; C <=> X; etc.
Create a function that takes a string and applies the Atbash cipher to it.
Problem Link: https://edabit.com/challenge/MGALfBAXhXqqdFyqo

Before submitting a PR please Check some details.Check Edabit for problem task

[ ] fileName formet should be in camelcase
example- returnTheNextNumber.py
[ ]  Add label for Problem
[ ]  In file there should be problem statement and link to probelm
example -

'''
    Probem Task : This program will add two numbers
    Problem Link : https://edabit.com/challenge/SFzHtm63XT6EYNHWY
'''
*/
def main():
    return a + b

This repository is vaild for HacktoberFest2020
Read before making PR - How to contribute on Github
Good Luck,

Can i work on this issue?

I am interested in implementing this function.

Interested


Update redux-form_v5.x.x.js

Change to be compatible with latest flow v58.0

@GAntoine - thanks. That is my mistake.

@GAntoine - how do I create a subFolder? I only have option to create file?

@GAntoine - I created this file: https://github.com/flowtype/flow-typed/pull/1502

Give me a couple minutes on this PR, I'll fix it up and get it to where you can fix the bugs. I closed the other one since both changes can be done here.

@lvdang Ok, I've modified the folder structure to something usable. However the definition you wrote for 53+ are still broken, so you'll need to address those.

@GAntoine - thanks. let me take a look

@GAntoine  - this is my first flow type checkin. Hopefully I am able to fix the issues.

@GAntoine  - got a question about one of the fail error
// With React documentation SyntheticEvennt<> is used for v53. Could it be that the error is with this declaration?
(props.onChange: (v: SyntheticEvent) => mixed);
^^^^^^^^^^^^^^ SyntheticEvent. Application of polymorphic type needs <list of 0-1 arguments>.

Try changing SyntheticEvent<> to SyntheticEvent<*>

Looks like the only remaining issue is with React.Node. Unfortunately that's not my field of expertise.

@GAntoine  we are very close ... one more bug to zap


Add missing lowercasing to the "no intl-ext" fallback

Follow-up to #711.

Looking at #333, it clearly seems to be an overlook.
Makes results consistent with/without intl-ext.

Misleading. A method called transillterate should only translitterate. I guess it's the caller's responsibility to compose with a call to lowercase.

Agree, I thought the same. Improved PR to come.


[Feature Request] Next/Prev Use

Description of the feature
Move the cursor to the next/prev occurrence of a word (will select current word if no current selection).
Something like Alt-n but without creating new cursors.
Usage
That is an easy way to navigate through variable/function.
Demo
https://youtu.be/o-2kaMS97mo

You can use Ctrl-n and Ctrl-p if you have an existing search term. To get the exact behavior you want, you would need to use a little bit of Lua scripting.
function searchWord(bp)
    if not bp.Cursor:HasSelection() then
        bp.Cursor:SelectWord()
        local sel = bp.Cursor:GetSelection()
        bp.Cursor.Loc = -bp.Cursor.OrigSelection[1]
        bp:Search(sel, false, true)
    else
        bp:FindNext()
    end
end

This function is the same as Ctrl-n, except when there is no selection it selects the current word and searches for it.
Then you can rebind Ctrl-n to this function in your bindings.json:
{
    "Ctrl-n": "lua:initlua.searchWord"
}

That's it! Thank you, will speed up my workflow :)


Typed HubContext Clients property

I have application which want to translate existing SignalR 2.2 hubs using new .NET Core version. I order to retranslate notifications, I have to use HubContext if I understand current version properly. But current version of HubContext<T> provide untyped version of IHubClients which is require me to manually write all notifications.  I would like to have some way to have access to IHubClients<T> outside of Hub implementations. Do you have any suggestions how I could do that?

Yeah I would also find this useful, I imagine many others would too. I'm far from an expert, but I've made a pull request that implements this, and it seems to work for me:
https://github.com/aspnet/SignalR/pull/783

I'd like to see #783 get implemented. My current approach uses nameof just to avoid direct string-usage:
public Task DoThing()
{
    Clients.All.InvokeAsync(nameof(IThing.DoIt));
}

If you derive your hub from Hub<T> you the Clients property will be of IHubClients<T> and you will be able to use methods defined on T instead of strings.

It's about using it outside of the hub itself. It's a gap we currently have to fill.

See now #890

Fixed with a7fb24350192f76e3539e60231d89a90eef7c13e


Update pinout-ice40up5k-b-evn.pcf to reflect new signal scheme

Still need to verify/test, but .pcfs now in same format for all boards.


Python3 Support in TODO

Although the TODO states that we need to implement Python3 support, it is still possible to pip install dojobber for python3 and run jobs. The only problem I have noticed seems unrelated and is a complaint that
** Graphs will not be supported (no dot executable - install graphviz)
** display_graph will not be supported (no display executable - install imagemagick.
This looks like less of a python3 problem and more of an issue with the other dependencies.

If you were to install graphviz and imagemagick packages (e.g. apt-get) then you would find the python3 problems; since the code currently uses external binaries to generate and process the dot output we have a python3 bytes vs string problem.
If you're not installing those then you can't even try to do the graphs so you don't hit the incompatibility.
There are two possible solutions:

fix the python subprocess invocation (smallest change) or
use native python dot/display functionality (better change)

Is this really a problem with this project though? If it is chosen to keep graphviz and imagemagick this seems more of an issue for those project than DoJobber.

The failure of subprocess to handle the bytes output of dot is absolutely DoJobber's fault.


improve regex operator

Current condition:
where('table_name', 'like', '%keyword%') is converted to /.*keyword.*/ which is not efficient for string matching
Improvement:
convert like operator to more efficient regex which is /keyword/
Regex performance comparison:
Text :
MongoDB World 2018 drew MongoDB community members from across the globe. At the event, attendees were able to meet with experts, connect with one another, and have a good time at the daily closing receptions. If you weren’t able to attend and followed the #MDBW18 hashtag, chances are you found yourself dealing with a bit of FOMO. But just because you missed out on the in-person experience doesn’t mean you have to miss out on the learning.

Matching keyword MongoDB:

Regex /.*MongoDB.*/ use 430 steps
Regex /MongoDB/ use 20 steps

I check that steps on https://regex101.com/

really cool but look at this test case:
>>> preg_replace('#(^|[^\\\])%#', '$1', preg_quote('denisson%leal%'));
=> "denissonleal"

before it was:
>>> preg_replace('#(^|[^\\\])%#', '$1.*', preg_quote('%denisson%leal%'))
=> ".*denisson.*leal.*"

I believe that the right and the most efficient result would be: denisson.*leal

Great catch @denissonleal, would be nice to indeed trim the wildcards off the start and end 👌

Closing due to inactivity.


Resolved merge conflicts + colon bug

Merges main branch + resolves merge conflicts
removes ignition dependencies (mentioning)
removed colon in comment causing parsing error of ur.ros2_control.xacro

@relffok thanks for the contribution. Unfortunately the diffs drifted away so much after I fixed the structure for Gazebo and Ignition that I am not sure how to merge this. Therefore I will close it for now. Check #245 for (i hope) correct setup.


Changed sqlite C api int functions to allow bigger Integer values

Eleven digit integers where being truncated before this change.

Thanks!

Thanks!


403 Error

I installed the extension 10 minutes ago, signed into Google and I'm getting this error. I can go to the Google search engine and that's fully functional, but none of the webapps like docs/slides/google drive work. And when I try to go to Keep, I get this error. I tried both the button from the Google App drawer and a direct link by searching on Google.
Do let me know if any fix is possible, thanks

Hi! As stated in the README:

⚠⚠⚠ For header-heavy sites like Google Keep to work, this plugin requires Obsidian 0.14.3. ⚠⚠⚠

You'll have to wait until that version is fully released. Sorry!

Ah I mistakenly assumed that was the latest public version, I'll wait for that to be released then

Update: It works now after the update, and it works BRILLIANTLY 🤩


feat: gw 7950 bump mongoose version

https://youtrack.weseek.co.jp/issue/GW-7950
Details

Upgrade mongoose to v 7.0.4 , mongoose-gridfs 1.3.0 and mongoose-paginate-v2 1.7.1
Added custom mongoseValidator since api parent() generates error in mongoose-unique-validator
Update obsolete api method of mongoose (mongoose api no longer accepts callback)
Update promisifiedWrite and promisifiedUnlink in gridfs since findById no longer accepts callback

Closed because mongoose update is already done


[BUG] Text limit for HTML Text

Describe the bug
I am visualizing formatted text on a Power BI Report and there is a text limit. You cannot scroll further, even though there is still text in the source field.
To Reproduce

Go to Power BI
Scroll down to last visable row of the formatted text field (my text field has 2 200 words)
See error as it is not possible to scroll down even further

Expected behavior
To have unlimited rows of text
Screenshots/Workbook
Not possible due to the sensitivity of the content
Power BI Setup (please complete the following information):

Platform: Power BI Desktop and Power BI Service
OS: Windows 10
Browser: Edge
Version: 114.0.1823.43 (Official build) (64-bit)

Visual Information (please complete the following information, available by right-clicking the visual in Power BI and selecting About):

Version: 2.118.621.0 64-bit (June 2023)

Additional context
None

As you are unable to provide data to help reproduce the issue, please review #62 to determine if the column limits in Power BI are causing you the issue. 2,200 words could well be around 32K characters.
This can potentially be worked around using measures (which can have a limit of ~2M characters) as described in the linked blog posts in the comments in that issue.

Thank you for the response, much appreciated!
Yes, I just found that out as well. So the limit of 32K characters seems to be the issue in my case 😢
Will you be adding the work around using measures in a future version?

Measures are supported already and there are examples on the site as to how you can use them in conjunction with the visual - you may need to add a suitable column to the granularity role to create the necessary row context, but this concept is again explained on the site. As to how to concatenate columns into measures, I would suggest reading the blog posts linked in the comment on issue #62 as this provides much more detailed resources than I could provide here.

I did not see that, thank you for pin pointing me!
Have a great week!


debugging is not working in VSCode

I tried setting the same breakpoints outlined in the preview of the readme and they don't seem to be working.
this is my version info for VSCode:
Version: 1.71.0
Commit: 784b0177c56c607789f9638da7b6bf3230d47a8c
Date: 2022-09-01T07:25:10.472Z
Electron: 19.0.12
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 5.14.0-1050-oem snap
Sandboxed: No

I'm also running Ubuntu 20.04 LTS

Can you provide a minimal reproduction Demo?

@caoxiemeihao the template itself is a reproduction
this doesn't work on Linux.

Ubuntu? I may need a Linux system 😅

@caoxiemeihao I'm using a variant of ubuntu, so that should yield similar results. :)

Same issue as @lifeiscontent , on Windows 10, Node 18.
Breakpoints don't trigger.

Debug is also not working for me.  Windows 11 Node v20.1.0. Task starts then hangs.

启动
我是Windows11，node18.16.0是可以调试前端页面的...

Doesn't work for me either, can't access the URL:
❯  cd /home/stan/projects/personal/wago-app ; /usr/bin/env VITE_DEV_SERVER_URL=http://localhost:5174/ 'NODE_OPTIONS= --require /home/stan/.vscode-server/bin/903b1e9d8990623e3d7da1df3d33db3e42d80eda/extensions/ms-vscode.js-debug/src/bootloader.js ' 'VSCODE_INSPECTOR_OPTIONS=:::{"inspectorIpc":"/tmp/node-cdp.124098-8884dbf6-23.sock","deferredMode":false,"waitForDebugger":"","execPath":"/usr/bin/node","onlyEntrypoint":false,"autoAttachMode":"always","mandatePortTracking":true,"fileCallback":"/tmp/node-debug-callback-d04af5c6d02f0815"}' /home/stan/projects/personal/wago-app/node_modules/.bin/electron --no-sandbox --remote-debugging-port=9229 .
Debugger listening on ws://<IP_ADDRESS>:53907/901b01f4-38dc-4776-a40e-82d34dc16d8a
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
Debugger listening on ws://<IP_ADDRESS>:53481/fb560429-0bcb-444c-9a90-ffa31d3b7455
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.

DevTools listening on ws://<IP_ADDRESS>:9229/devtools/browser/bfd8ee3c-8db7-42a3-b00f-97674f3be1ea
[132812:0227/000913.519427:ERROR:connection.cc(575)] Cannot send request of length 31158756
(node:132812) ExtensionLoadWarning: Warnings loading extension at /home/stan/.config/wago-app/extensions/lmhkpmbekcpmknklioeibfkpmmfibljd:
  Manifest version 2 is deprecated, and support will be removed in 2023. See https://developer.chrome.com/blog/mv2-transition/ for more details.
  Permission 'notifications' is unknown or URL pattern is malformed.
  Permission 'contextMenus' is unknown or URL pattern is malformed.

(Use `electron --trace-warnings ...` to show where the warning was created)
Added extension: Redux DevTools { class: 'main' }
Added extension: React Developer Tools { class: 'main' }
(node:132812) electron: Failed to load URL: http://localhost:5174/ with error: ERR_CONNECTION_REFUSED
[132812:0227/000914.263168:ERROR:CONSOLE(1)] "Request Network.loadNetworkResource failed. {"code":-32602,"message":"Unsupported URL scheme"}", source: devtools://devtools/bundled/core/protocol_client/protocol_client.js (1)
^C/home/stan/projects/personal/wago-app/node_modules/electron/dist/electron exited with signal SIGINT
Waiting for the debugger to disconnect...

On windows I got this to work by adding the following line to my Debug Main Process section:
"attachSimplePort": 0


Request: docker compose support for Ollama server

It would be really nice if Ollama supported docker compose for the Ollama server.
This would enable one to run:

docker compose up: start the Ollama server
docker compose down: stop the Ollama server

docker compose imo has two benefits:

A bit easier than having to deal with multiprocessing associated with ./ollama serve
Would enable Ollama server to be more OS independent, by outsourcing platform support to Docker

For reference, LocalAI supports this, and it works flawlessly, without having to deal with brew installs and compilation
Perhaps https://github.com/sickcodes/Docker-OSX can be used as the base image, since Ollama currently just supports macOS-based installations

Since Docker Compose is a deployment tooling around Linux containers, a stable Linux version of Ollama must be available first.

Ollama maintains a Dockerfile that I modified a bit by adding an entrypoint and a Docker compose file. In my version, I assume that the Dockerfile and the entrypoint.sh file are in the docker/ollama subdirectory. I hope this works for you:
docker-compose.yml:

version: '3'
services:
  ollama:
    hostname: ollama
    container_name: ollama
    build:
      context: ./docker/ollama
      dockerfile: Dockerfile
    ports:
      - "11434:11434"
    volumes:
      - ollama_data:/app
    networks:
      - net

Dockerfile:
# Stage 1: Build the binary
FROM golang:alpine AS builder

# Install required dependencies
RUN apk add --no-cache git build-base cmake

# Set the working directory within the container
WORKDIR /app

# Clone the source code from the GitHub repository
RUN git clone https://github.com/jmorganca/ollama.git .

# Build the binary with static linking
RUN go generate ./... \
    && go build -ldflags '-linkmode external -extldflags "-static"' -o .

# Stage 2: Create the final image
FROM alpine

ENV OLLAMA_HOST "<IP_ADDRESS>"

# Install required runtime dependencies
RUN apk add --no-cache libstdc++ curl

# Copy the custom entry point script into the container
COPY Modelfile /Modelfile

# Copy the custom entry point script into the container
COPY entrypoint.sh /entrypoint.sh

# Make the script executable
RUN chmod +x /entrypoint.sh

# Create a non-root user
ARG USER=ollama
ARG GROUP=ollama
RUN addgroup $GROUP && adduser -D -G $GROUP $USER

# Copy the binary from the builder stage
COPY --from=builder /app/ollama /bin/ollama

USER $USER:$GROUP

ENTRYPOINT ["/entrypoint.sh"]

Entrypoint.sh:
#!/bin/sh

./bin/ollama serve &

sleep 5

curl -X POST http://ollama:11434/api/pull -d '{"name": "llama2"}'

sleep 10

tail -f /dev/null

Oh wow, thanks!  It would be cool if someone would list this image on Docker hub.  Interesting with the multistage build.
It'd be cool if you upstreamed your changes to this repo in a PR because you:

Have nice code comments (over the currently-present Dockerfile, which has none)
Created the missing docker-compose.yaml

I agree, it would be cool to have a image for each model, e.g. ollama:llama27GB.... If I have the time, I will submit a pull request in the '''ollama repo''' and create base images on '''Dockerhub'''.

Oh I just meant one general Docker image for the Ollama server, and users could run docker container exec to pull 1+ models into the container, or use volume mounting somehow

I agree, it would be cool to have a image for each model, e.g. ollama:llama27GB .... If I have the time, I will submit a pull request in the ollama repo and create base images on Dockerhub.

@philipempl
That would be incredibly useful. I don't see a use case where anyone would want to use an image without a model already present.

I agree, it would be cool to have a image for each model, e.g. ollama:llama27GB .... If I have the time, I will submit a pull request in the ollama repo and create base images on Dockerhub.

@philipempl
That would be incredibly useful. I don't see a use case where anyone would want to use an image without a model already present.

The only thing that might limit Docker image creation is the fact that ollama - as far as I know - detects the hardware on the host machine during creation. But let's give it a try....

TIL of https://hub.docker.com/u/ollama's existance, so I guess one can just directly configure docker-compose.yaml for macOS, no need to worry about docker build/buildx.

Might have missed this but for the ollama dockerhub image, what path on the container side should folks mount a volume to persist models that get downloaded? Is anything like a container restart needed to pick up the changes?

@eddywashere yeah, here is the Dockerfile underlying that Docker Hub image.  You can see the WORKDIR there.

Is anything like a container restart needed to pick up the changes?

You don't need to restart the ollama serve process when you download a model, so similarly I don't think a container restart is necessary.

Looks like https://github.com/jmorganca/ollama/pull/440 is working on this

I don't feel this was resolved, having a Docker image in Docker hub is not a docker compose config.  Maybe to be more explicit, the resolution I was hoping for is an Ollama-official Docker compose config:
git clone git@github.com:jmorganca/ollama.git
cd ollama
# The below starts Ollama server
docker compose up

Ok, thanks for clarifying. I'll go ahead and reopen.

Here is what I am using while running on raspberry Pi or Mac
version: '3.8'

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    ports: ["11434:11434"]
    volumes:
      - ollama:/root/.ollama
    pull_policy: always
    tty: true
    restart: unless-stopped

  ollama-webui:
    image: ghcr.io/ollama-webui/ollama-webui:main
    container_name: ollama-webui
    ports: ["3000:8080"]
    volumes:
      - ollama-webui:/app/backend/data
    depends_on:
      - ollama
    environment:
      - 'OLLAMA_API_BASE_URL=http://ollama:11434/api'
    restart: unless-stopped

volumes:
  ollama: {}
  ollama-webui: {}

It may bee I just followed the docker instructions at in the Ollama-web readme. I may switch at some point at I do not like the complexity of using build scripts I don't have time to understand. However, it is running well.
[ollama-webui - Installing Ollama and Ollama Web UI Together
Using Docker Compose -

Hi folks, and thanks for the issue @jamesbraza. Given the different permutations of docker compose files possible with Ollama, we haven't published one yet. This may change in the future however for the time being we're sticking to the abstraction of the container image itself: https://github.com/ollama/ollama/blob/main/docs/docker.md


Snake case naming optimization

fixes https://github.com/Azure/autorest.python/issues/2636

@msyyc I think this PR is ready to go, I'd wait until you finish the regenerate existing packages pipeline, so we can see everything that changes

@msyyc I think this PR is ready to go, I'd wait until you finish the regenerate existing packages pipeline, so we can see everything that changes

Here is the diff caused by this PR: https://github.com/Azure/azure-sdk-for-python/pull/36412/commits/378a646b4d2865a5ad528a0f0f9bf050dfaeedb7


Problems with TLS/SSL

When i try to run the bot, this error appears:
[ERROR : websocket @ 2024-06-28 14:23:08.236] An error occurred while connecting to the websocket!
[ERROR : websocket @ 2024-06-28 14:23:08.236] Exception: #<OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 peeraddr=<IP_ADDRESS>:443 state=error: tlsv1 unrecognized name>
[ERROR : websocket @ 2024-06-28 14:23:08.236] /home/runner/ParallelMountainousHypertalk/.bundle/ruby/3.2.0/gems/discordrb-3.5.0/lib/discordrb/gateway.rb:519:in connect' [ERROR : websocket @ 2024-06-28 14:23:08.236] /home/runner/ParallelMountainousHypertalk/.bundle/ruby/3.2.0/gems/discordrb-3.5.0/lib/discordrb/gateway.rb:519:in obtain_socket'
[ERROR : websocket @ 2024-06-28 14:23:08.236] /home/runner/ParallelMountainousHypertalk/.bundle/ruby/3.2.0/gems/discordrb-3.5.0/lib/discordrb/gateway.rb:569:in connect' [ERROR : websocket @ 2024-06-28 14:23:08.236] /home/runner/ParallelMountainousHypertalk/.bundle/ruby/3.2.0/gems/discordrb-3.5.0/lib/discordrb/gateway.rb:473:in block in connect_loop'
[ERROR : websocket @ 2024-06-28 14:23:08.236] /home/runner/ParallelMountainousHypertalk/.bundle/ruby/3.2.0/gems/discordrb-3.5.0/lib/discordrb/gateway.rb:472:in loop' [ERROR : websocket @ 2024-06-28 14:23:08.236] /home/runner/ParallelMountainousHypertalk/.bundle/ruby/3.2.0/gems/discordrb-3.5.0/lib/discordrb/gateway.rb:472:in connect_loop'
[ERROR : websocket @ 2024-06-28 14:23:08.236] /home/runner/ParallelMountainousHypertalk/.bundle/ruby/3.2.0/gems/discordrb-3.5.0/lib/discordrb/gateway.rb:168:in block in run_async' [ERROR : websocket @ 2024-06-28 14:23:09.308] An error occurred while connecting to the websocket! [ERROR : websocket @ 2024-06-28 14:23:09.308] Exception: #<OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 peeraddr=<IP_ADDRESS>:443 state=error: tlsv1 unrecognized name> [ERROR : websocket @ 2024-06-28 14:23:09.308] /home/runner/ParallelMountainousHypertalk/.bundle/ruby/3.2.0/gems/discordrb-3.5.0/lib/discordrb/gateway.rb:519:in connect'
[ERROR : websocket @ 2024-06-28 14:23:09.308] /home/runner/ParallelMountainousHypertalk/.bundle/ruby/3.2.0/gems/discordrb-3.5.0/lib/discordrb/gateway.rb:519:in obtain_socket' [ERROR : websocket @ 2024-06-28 14:23:09.308] /home/runner/ParallelMountainousHypertalk/.bundle/ruby/3.2.0/gems/discordrb-3.5.0/lib/discordrb/gateway.rb:569:in connect'
[ERROR : websocket @ 2024-06-28 14:23:09.308] /home/runner/ParallelMountainousHypertalk/.bundle/ruby/3.2.0/gems/discordrb-3.5.0/lib/discordrb/gateway.rb:473:in block in connect_loop' [ERROR : websocket @ 2024-06-28 14:23:09.308] /home/runner/ParallelMountainousHypertalk/.bundle/ruby/3.2.0/gems/discordrb-3.5.0/lib/discordrb/gateway.rb:472:in loop'
[ERROR : websocket @ 2024-06-28 14:23:09.308] /home/runner/ParallelMountainousHypertalk/.bundle/ruby/3.2.0/gems/discordrb-3.5.0/lib/discordrb/gateway.rb:472:in connect_loop' [ERROR : websocket @ 2024-06-28 14:23:09.308] /home/runner/ParallelMountainousHypertalk/.bundle/ruby/3.2.0/gems/discordrb-3.5.0/lib/discordrb/gateway.rb:168:in block in run_async'
How can i fix this? (I am using Replit, btw)

Replit is generally discouraged as much of their IP range is blocked by discord

Replit is generally discouraged as much of their IP range is blocked by discord

Replit is generally discouraged as much of their IP range is blocked by discord

Well, gonna have to migratethe project somewhere. Thanks for the reply!


Remove unnecessary files and update the existing ones

 Reorganize project files

 Add great_expectations and pytest to requirements.txt

 Delete unnecessary archives

 Update the template structure to match our project structure


Size of the UI elements can be a little bigger

specifically reset and created sections are not visible at all
Can I work on this issue

sure


Trust self-signed certificates

Codecov Report

Merging #145 (44cffdc) into main (e8816f0) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #145   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            8         8
  Lines          369       370    +1
  Branches        34        34
=========================================
+ Hits           369       370    +1

Impacted Files
Coverage Δ

smtpdfix/controller.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 e8816f0...44cffdc. Read the comment docs.


Making JupyterLab RTC an opt-in feature

Summary
JupyterLab Real Time Collaboration (RTC) is very soon generally available in JupyterLab 3.1 (3.1.0a10 is out now). The access control is non-existent and you simply grant access to remote control your server as if it was you yourself at this point.
User Stories

As an end user, I want to click a button and share access to my server and get a Real Time Collaboration experience.
As an end user, I want to understand the security implication of my choices.

Acceptance criteria
This enhancement will require significant exploration work, so making decisions on what is an acceptable outcome is a key first step where these acceptance criteria then later can be updated with.

A end to end workflow for a user is enabled

Example: user clicks share button, provides a link to another user who is granted access

Security is considered:

The token granting access provides access to the entire server now and later I think. What is acceptable from a security stand point and how to we get there?

Important information
With jupyterlab==3.1.0a10 installed, the following startup configuration change will enable link sharing access.
          singleuser:
            # cmd: I've experimented with these settings to get a JupyterLab RTC
            #      setup functioning. It currently is, but is this what makes
            #      sense to get it to function?
            #
            #      ref: https://github.com/jupyterlab-contrib/jupyterlab-link-share/issues/10#issuecomment-851899758
            #      ref: https://github.com/jupyterlab/jupyterlab/blob/1c8ff104a99e294265e6cf476dcb46279b0c3593/binder/jupyter_notebook_config.py#L39
            #
            #      Note the default in z2jh is jupyterhub-singleuser.
            cmd:
              - jupyterhub-singleuser
              - --LabApp.collaborative=True
              - --ServerApp.allow_remote_access=True

With jupyterlab-contrib/jupyterlab-link-share we get a button exposing a token in a link that can be shared. I've opened an issue about this not functioning properly yet with modern versions of JupyterHub etc to my knowledge though, see: https://github.com/jupyterlab-contrib/jupyterlab-link-share/issues/10
Tasks to complete

[ ] Discuss and decide on acceptance criterias
[ ] Implementation steps...

Amazing! To do this,

[ ] The image has appropriate version of lab
[ ] singleuser.cmd is set in the appropriate file in hub/config/<cluster>.yaml.

Amazing, indeed... BUT,

Security is considered:
The token granting access provides access to the entire server now and later I think.

I am  very worried about the security implications here... Because people excited to try the new stuff will not successfully realize the associated risk and the links will be easily (and publically) shared.

What is acceptable from a security stand point and how to we get there?

A minimally acceptable security standpoint, IMHO, would be having some sort of minimal authn/authz layer that will prevent users not belonging to the certain Hub to reach out to that server being shared. I acknowledge that, probably, the minimal layer I am asking for is not a trivial amount of work...

* The token granting access provides access to the entire server now and later I think.

This depends on the token being issued. It could be just as long as the current session.

This depends on the token being issued. It could be just as long as the current session.

OK, that seems to reduce/restrict the potential damage...

The title is relevant, but the content is outdated. I'll go for a close, expecting another issue to track this already or that its better to start fresh when JupyterLab 4 is out.


git.commitMessageAccept Keyboard Shortcut

Type: Bug
If git.useEditorAsCommitInput is true in vscode settings, on git commit a text editor is opened to author the commit message. To "accept" the commit message, there is a button on the top right of the editor linked to the command "git.commitMessageAccept".
Pressing the button with the mouse works, but no matter what key combination is assigned to git.commitMessageAccept (ie Git: Accept Commit Message in keyboard shortcuts editor), the keyboard shortcut does not work.
This is true on all of my linux and mac machines (Ubuntu 22.01, Ubuntu 20.04, and Mac Cataline/Big Sure/Monterey/Ventura).
I also did try with all extensions disabled (code --disable-extensions) and experienced the same behavior.
VS Code version: Code 1.74.2 (e8a3071ea4344d9d48ef8a4df2c097372b0c5161, 2022-12-20T10:27:19.253Z)
OS version: Linux x64 5.15.0-56-generic snap
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
AMD Ryzen 9 3900XT 12-Core Processor (24 x 2200)

GPU Status
2d_canvas: unavailable_softwarecanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: disabled_softwaremultiple_raster_threads: enabled_onopengl: disabled_offrasterization: disabled_softwareraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: unavailable_softwarewebgl2: unavailable_softwarewebgpu: disabled_off

Load (avg)
0, 0, 0

Memory (System)
62.67GB (55.31GB free)

Process Argv
--no-sandbox --force-user-env --unity-launch --crash-reporter-id 166b6dea-0e14-4ded-ac2a-0e5f498c2817

Screen Reader
no

VM
0%

DESKTOP_SESSION
ubuntu

XDG_CURRENT_DESKTOP
Unity

XDG_SESSION_DESKTOP
ubuntu

XDG_SESSION_TYPE
x11

Extensions (37)

Extension
Author (truncated)
Version

project-manager
ale
12.7.0

cpp-helper
ami
0.3.1

scratchpads
bue
1.0.0

doxdocgen
csc
1.4.0

xml
Dot
2.5.1

gitlens
eam
13.2.0

vscode-open-in-application
fab
1.0.6

todo-tree
Gru
0.0.220

CppSnippets
har
0.0.15

output-colorizer
IBM
0.1.2

latex-workshop
Jam
9.3.0

vsc-space-block-jumper
jmf
1.2.2

cmake-language-support-vscode
jos
0.0.9

macrosRe
l7s
1.3.0

vscode-clangd
llv
0.1.23

git-graph
mhu
1.30.0

vscode-dotnet-runtime
ms-
1.6.0

isort
ms-
2022.8.0

python
ms-
2022.20.1

vscode-pylance
ms-
2023.1.10

remote-ssh
ms-
0.94.0

remote-ssh-edit
ms-
0.84.0

cmake-tools
ms-
1.12.27

cpptools
ms-
1.13.9

hexeditor
ms-
1.9.9

remote-explorer
ms-
0.0.3

launchqtcreator
Ora
0.1.12

material-icon-theme
PKi
4.23.1

angelscript
ren
1.0.3

LiveServer
rit
5.7.9

shader
sle
1.1.5

cmake
twx
0.0.17

vscode-counter
uct
3.2.0

vscode-lldb
vad
1.8.1

vscode-wakatime
Wak
22.1.0

markdown-pdf
yza
1.4.4

markdown-all-in-one
yzh
3.5.0

(1 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30445986
pythondataviewer:30285071
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593:30376534
pythonvs932:30410667
cppdebug:30492333
vscaac:30438847
vsclangdf:30486550
c4g48928:30535728
dsvsc012:30540252
azure-dev_surveyone:30548225
pyindex848:30577860
nodejswelcome1:30587005
282f8724:30602487
iaj6b796:30613358
89544117:30613380
fim-prod:30623723

This has been fixed with https://github.com/microsoft/vscode/commit/603019055e01457b8593a7c08e86a26c65b6042c that is currently available in the Insiders release and will be included in the next Stable release. Could you please try the latest Insiders release and reopen the issue in case you are still able to reproduce this problem. Thank you!

I am now able to assign a keybinding and use it when the git editor is open for a commit message, however I do not see a button in the top right corner of the editor:

As discussed the buttons only appear if the commit is being initiated using the UI.


New tutorial: "Phylogenetics: back to basics"

Hello GTN team,
We’re submitting a new tutorial “Phylogenetics: back to basics” for review and hope that you’ll find it suitable for the GTN. It’s based on a live workshop run by Australian BioCommons and Professor Michael Charleston from the University of Tasmania.
This workshop was very popular and we’re keen to share it via the GTN so that more people can take advantage of it.
This tutorial takes a slightly different approach to other GTN tutorials in that it’s not a “how-to guide”. Instead it is aimed at giving a better understanding of the principles of phylogenetics and how the methods work. It uses tools that are (mostly) available in Galaxy to demonstrate these principles. We think it makes a great companion to other evolution-themed GTN tutorials.
A couple of things we need your help with:
We’ve submitted the data to the GTN Zenodo community and are waiting on approval before we can add a link.
We’d like to centre align the videos but this requires adding some new settings for the whole website. Can you help us with this?
Given that it’s close to the Christmas break we understand that reviews will take longer than usual. We’re taking a break too and look forward to hearing your feedback in the new year!
You can contact us through GitHub or by email.
Many thanks,
Michael Charleston<EMAIL_ADDRESS>Adam Taranto<EMAIL_ADDRESS>Melissa Burke<EMAIL_ADDRESS>

We’ve submitted the data to the GTN Zenodo community and are waiting on approval before we can add a link.

you should be able to add the link now, the approval is only for it to show up in the GTN page in zenodo, the record should still be accessible even if it isn't yet in the Gtn zenodo community.

We’d like to centre align the videos but this requires adding some new settings for the whole website. Can you help us with this?

this is possible yes

Hi @Adamtaranto, welcome to the GTN! (A longer response now that I have my laptop available.)

it’s not a “how-to guide”. Instead it is aimed at giving a better understanding of the principles of phylogenetics and how the methods work

In general this looks great, it doesn't have to be as hands on as other tutorials, we're happy to accept excellent learning resources like these. They're achieving similar didactic purposes through different methods, that's fantastic. This looks like an excellent resource and we'll be very glad to have it on the GTN (maybe it's an era of more aussie biocommons contributions? which would be very exciting for us!)
The videos are the main point of discussion from our side. We heavily discourage the use of videos, you'll note they aren't present in essentially any other tutorials with few exceptions. We do this because the most accessible video is still less accessible than a well marked up HTML page.
I've taken a look at the videos you've linked in the tutorial, it's great to see you've got manual captions on them, that is a baseline requirement for us. That said, they're not maybe what one would refer to as high production slides? there's little to no animation, it's mostly talking through a slide deck (which is great and useful as-is!!!) So, given the GTN's position on slide deck accessibility and that aspect of the existing videos, I'd like to propose a more accessible alternative where you can retain the videos, and we can offer something that will work for all learners, rather than just the sighted ones:
If you would be willing to turn the slide decks from those videos, into GTN slide decks, then from our side we'll contribute a widget/box that you can use within the tutorial, that will give learners the option to choose their preferred in which to consume the tutorial; a video, the gtn remark.js slide deck, or the "plain text" slides which don't require javascript, and help you link to the correct places in each of those resources. (I wish I could offer here an automated method for doing that conversion since you have a lot of these videos, but we've only just written that into our next grant and don't if that'll be funded or when. I have a proof of concept python script that really only works with google slides currently.)
Would this be an option for y'all? Because we'd really love to have this tutorial in for everyone to access, and this one requirement would help this resource meet our accessibility commitments.

Tagging in @burkemlou  @mcharleston for comments.
My thoughts on videos and accessibility: This tutorial is designed to work without the videos, we've included them as something extra for self-guided learners to be able to access a taste of the in-person workshop experience.
Do you have a tutorial on making GTN formatted slides?

Hi @hexylena,
Thanks for your feedback, it's really useful as always.
Echoing Adam's comments, these videos were created in the spirit of those done for the Smorgasbord events and to do exactly what you're suggesting - provide flexibility in the way that people can interact with the tutorial.
The ideas you suggested for improving accessibility sound good to me. We're always happy to work with you on this!
That said, we're all on leave for at least couple of weeks over Christmas/New Year. I'll get in touch once I'm back in the office (after the 11th January) and we can figure out the best way forward. In the meantime, if you have tutorials or guidelines you can point us towards that would be really helpful.
Thanks again and wishing you a restful end to 2023 and a happy 2024.
Melissa
tagging @Adamtaranto and @mcharleston

I forgot to add, thanks for approving the Zenodo record! We'll add that in next year too.

something extra for self-guided learners to be able to access a taste of the in-person workshop experience

yes, and we love this! that's so great to offer that! from our side, I just want to make sure everyone can access that resource because I think there's a lot of good information in those talks, that might not be available otherwise, and in any case it'll make excellent review materials for a motivated and dedicated learner.

Do you have a tutorial on making GTN formatted slides?

We have some materials, maybe it's time we improved them. There's a slide deck on how to format the slides since they use slightly different markup, but there's no specific tutorial.
The header metadata for a slide deck is essentially the same as a tutorial. I'll work on getting that documented in a better way, we have such a nice tutorial for contributing tutorials, but not for slides yet.
Since y'all're still on break, hopefully I can get some materials together in the meantime!

Hi @hexylena, happy new year!
Any chance we could have a quick chat about this next week?
I'm free Wednesday or Thursday morning before 11am Europe time.

Yes, that's definitely possible. Let's try for wednesday? Could you send a calendar invite? :) 9-10 CET should be doable.

Great, thanks. I've just sent an invite and a Zoom link to your Gmail
account.
Talk to you tomorrow.
On Mon, 15 Jan 2024 at 19:39, Helena @.***> wrote:

Yes, that's definitely possible. Let's try for wednesday? Could you send a
calendar invite? :) 9-10 CET should be doable.
—
Reply to this email directly, view it on GitHub
https://github.com/galaxyproject/training-material/pull/4611#issuecomment-1891703829,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQNUHBFLUBEVB23XGMBFI4TYOT2M3AVCNFSM6AAAAABA7DHBPOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJRG4YDGOBSHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

From the chat with @burkemlou it's all looking quite positive!
I learned the slides were in beamer format, this is fantastic news, you can then use pandoc to convert them probably pretty easily. I suspect the command will be something like pandoc -f beamer -t reveal.js < slides.tex > slides.html (which will then need some reformatting but I will test that and make a further reply here.)
The biocommons logo can be added to each slide deck, please set the logo field in the metadata header with a path (in-repository) to the image
Since there are fiveish slide decks I would recommend the following: creating a folder for each, with a single slides.html inside.
As I find time I'll start working on a nice widget to embed these and give end-users a choice of their content format, just leave the youtube links as-is until then :)

Edit, I stand corrected about the pandoc conversion, pandoc can only output beamer, it can't use it as input, it can't use any of the slide formats as input sadly.
Looking around, others had similar issues https://rmarkdown.rstudio.com/articles_beamer.html https://stackoverflow.com/questions/39453252/pandoc-to-move-knitr-beamer-slides-to-rmarkdown
So maybe something to try there is just treating it as a plain latex file
12:48:49 w-galaxy:[~/arbeit/galaxy/training-material @pr-4630‽]$ pandoc -f latex -t markdown < /rw/home/user/arbeit/presentations/2019-GCC/gxadmin.tex
# About

::: frame
![image](galaxy-eu.512.png){width="90%"}  \

::: center
Community \| Users \| Training \| Infrastructure
:::
:::

::: frame
About Me

-   Joined team 16 months ago

-   UseGalaxy.eu System Administrator

-   de.NBI Cloud Freiburg Administrator\
    (3.5k cores, 15TB ram)

-   Developed Galaxy Circos/JBrowse tools, RStudio GIE
:::

# Community

::: frame
Community

::: center
Community is the most important part of what we do
:::
:::

This is, maybe not sooo painful to convert further, then you'd just need to replace all ::: frame with --- to mark the slide transition, and delete the corresponding :::, and it'd be done?

Hi Helene, thanks so much for your kind and useful comments!
I was also hoping pandoc would do it but that's ok, I will see how much of a faff it is to convert from my LaTeX to the markdown. :)

Hi @hexylena, do you know why the CI checks are failing on the latest commit?
Also, should I squash the history down into a single commit before it gets merged?

@mcharleston hope pandoc gets you close at least :)
@Adamtaranto I will comment directly on the page for the linting errors but they're easy fixes :)

Also, should I squash the history down into a single commit before it gets merged?

no, please don't do that.

Thanks Helena. I'll start working through your suggestions and get back to you.

Hi @hexylena we're looking into the process of converting slides to markdown and it's looking like it will be a manual process. Being able to preview the slides (like you can for the tutorial itself) as we rebuild them would be very helpful in this process.
Is there a way to do this within GitPod?
Thanks!

Hey @burkemlou, yes, absolutely that can be done in GitPod! It should be done automatically, and it sounds like you're doing that already for the tutorials, could you share what issues are you encountering with the slides?

Thanks @hexylena the issue (at the moment at least) is that we didn't know it was possible. Let us try it out and we'll get back to you if we need more help.

Hi @hexylena I've replaced formulas that were images with math markup which is working great. But I have the peculiar problem that the formulas show up in the preview of the details box. I'm sure I'm missing some tag somewhere but I can't figure it out. Any suggestions?
It's at ~ line 624 in the tutorial.md file

Hi @hexylena I've replaced formulas that were images with math markup which is working great. But I have the peculiar problem that the formulas show up in the preview of the details box. I'm sure I'm missing some tag somewhere but I can't figure it out. Any suggestions?
It's at ~ line 624 in the tutorial.md file

I have fixed this so that the formulas are now contained within the details box. It was something to do with line breaks.
I'd like to centre align them but can't get it to work. Left aligned will do!

Hi @hexylena,
Quick update from our side. I think we have now worked through and addressed your comments above. Please let us know if we've missed something.
We have figured out how to convert Michael's slides into the GTN format and have added the first one into the GTN to practice on. We're working on formatting of this slide correctly and converting the remaining slides over.
Michael would like to use this tutorial in teaching from mid-April. If we're able to convert slides over by the end of March do you think we could have it published before then?
Thanks again for your input and help troubleshooting.
Melissa
Tagging @PatCapon39 and @mcharleston for comments on the slide conversion process.

Michael would like to use this tutorial in teaching from mid-April. If we're able to convert slides over by the end of March do you think we could have it published before then?

yes absolutely!
Thank you all for your hard work on this, I cannot wait to announce it in our channels.

There are some error messages but I wanted to re-write them here where they're easier to read :)

[ ] Could you please add a license and creator information to the workflow? (Helps us ensure it's FAIR)
[x] youtube linting error is now ignored
[x] tool IDs have been corrected
[x] I've added a stub workflow test for the workflow included

there is a 'url failing error' which is because the gtn doesn't support slides not named slides.html, I will think of how to best handle this.

@hexylena I'm having some trouble getting GTN to recognise math markdown using the $$ formatting described here https://training.galaxyproject.org/training-material/topics/contributing/tutorials/create-new-tutorial-content/tutorial.html#writing-mathematical-expressions
The particular file I'm trying to get math markdown to show up on is here
https://github.com/Adamtaranto/training-material/blob/dev/topics/evolution/tutorials/abc_intro_phylo/03-msa_GTNformat.html
Any suggestions would be greatly appreciated!

Hi @hexylena,
Thanks for the fixes above.

Re the workflows, where do we add the licence and creator? I'm having trouble finding corresponding comments.
Re slide naming. Would renaming to Slides_1.html etc fix this error? We're not wedded to the file names.

And an update on slides in general. We've decided to push ahead and upload all the slides before going live. Michael's teaching schedule has changed which gives us some flexibility with our timeline for getting this done. We are still aiming for ~ end of April.
I'll write a story for the GTN and the BioCommons newsletter once it is out.

having some trouble getting GTN to recognise math markdown using the $$ formatting described here.

@PatCapon39 the most likely cause is that recently i made mathjax load conditionally when it found $$ on the page, to save bandwidth for users. it's likely there is something wrong on my end with that. I'll look into it!

workflows, where do we add the licence and creator?

huh we don't have an faq for this, we really should. If you load the workflow in the galaxy workflow editor you'll find this menu where you can add relevant creators and organisations:

Would renaming to Slides_1.html etc fix this error?

they need to be in separate folders, with a slides.html per folder (at the same level as other tutorials). I can push a commit with this change today probably and provide the linking

We are still aiming for ~ end of April.

that sounds great! I will ensure it is merged by then

Fyi, when testing this tutorial I found some issues with the visualisations, just in case y'all hadn't experienced the same https://github.com/galaxyproject/galaxy/issues/17770

I've split the slide decks into 4 different folders, so they'll pass rendering checks.
And for the math rendering it looks like there is indeed a bug of some sort :( I will look into it further.

in the MSA slide deck I see: internal image images/DPcell.pdf does not exist, is that file maybe missing?

in the MSA slide deck I see: internal image images/DPcell.pdf does not exist, is that file maybe missing?

Yes we saw that too, thanks! And thanks for your efforts to fix the math markdown too

@hexylena It seems like the math markdown is working now, but every time I exist the maths via double dollar signs, it starts a new line. How do I keep the maths on the same line as normal text? ChatGPT tells me to use a single dollar sign, but I don't think GTN recognises those.

but every time I exist the maths via double dollar signs, it starts a new line
@PatCapon39 I believe this will be fixed with some commits from @shiltemann that she'll push shortly. She's got it rendering correctly with the $$ .. $$ in inline-mode as well as block mode

I pushed a fix for the math, any math expressions should be placed between double dollar signs $$ .. $$ and should work again :+1:

@shiltemann looks like the fix possibly complicated another tutorial, FNN. Which has some really fascinating markup that looks like a markdown link: (fnn/tutorial.md#L265) https://saxarona.github.io/mathjax-viewer/?input=\boldsymbol{\delta}^{[L](j)}+%3D+\nabla_{\boldsymbol{\hat{y}^{(j)}}}\mathcal{L}+\odot+(g^{[L]})^{'}+(\boldsymbol{z}^{[L](j)})+%3D+\boldsymbol{\hat{y}^{(j)}}+-+\boldsymbol{y^{(j)}}+

oh oops, I will look into it

ok, there are too many edge cases that go wrong with my fix, so let's go back to the mathjax standard; please:

use double dollar signs for math expressions $$ .. $$
to force inline mode, use \\( .. \\) delimiters

I updated this in your trees slidedeck
If you notice any math expressions that still do not render well, please let me know!

Thanks @shiltemann! I've fixed the maths in the msa slide set. We've uploaded another slide set called MLE trees, but I can't quite get it to go in the right spot. Rather than being grouped with the other phylogenetics topics, it's listed under other. Can you or @hexylena please help me get it into the correct location? See attached picture for what I mean.

I am also trying to follow @hexylena's set up of the sym links for image folders for this new slide set called mle-trees, but I can't figure out how to create a sym link like you did. Can you please show me how? I can't find anything on GTN and google is confusing me!

Lastly, I have tried to use inline maths for slide set 5 (mle-trees) but it isn't behaving as the msa slides did and I don't understand why.
I also have a series of "IQTree outputs" slides that appear the be coded the same, but are rendering the title differently and the last one is not obeying the .reduce50[] command, again I am unsure why this is happening.
Any help would be great please!

@PatCapon39

grouping of MLE trees slides with others: looks like you found the solution already, subtopic: phylogenetics will indeed group it with the others.

math rendering on MLE slides should be fixed now

I added the symlink to the images folder  (on linux I just used ln -s ../abc_intro_phylo/images .  from within the MLE tutorial folder, but not sure how/if that works on windows/gitpod/other environments)

IQtree slides: sometimes the slides seem to want newlines around the --- delimiters to render correctly :shrug: . That seemed to fix the issue. To stop the title for those slides jumping around so much, I added a layout slide for the set of IQtree slides, feel free to undo but it looked a bit nicer to me (and perhaps nice to use in other places as well), the way it works is you add a dummy slide with layout: true and the slide title (and any other shared elements) for the set of slides following it (this dummy slide itself is not rendered):
 ---
 layout: true

 # `iqtree` output
 ---

then you can omit the slide title from the subsequent slides (it will be added automatically), and then add a  layout: false on the first slide after the set. the sllide title was now always in the same position across all the IQtree slides.

Thanks @shiltemann! For whatever reason the subtopic setting wasn't displaying for me in gitpod yesterday, it's working today thankfully.
The maths still doesn't look right for MLE-trees at slide 9, it doesn't seem to be recognising the \\(..\\) properly. Maybe something to do with the bullet points?
For slided 13, I would like to line up the equals signs. Or at least, get them to all be left aligned, but it doesn't seem to working with the .left[] code that I've used previously.
The layout for iqtree slides has worked nicely, thanks! It does mean that those slides are missing the little blue back arrow at the top left though.
I am struggling to get the image on slide 26 to reduce in size properly. It doesn't seem to be recognising the image-25 code (or other sizes like 60 or 70 that I've tried). Is there something I'm doing wrong?

@PatCapon39 thanks for your feedback, your slides are a great test case to find and fix al edge cases of our slides framework :)

MLE-trees slide 9: In this case, it's not rendering the math inside, because it is not recognizing it as a valid math expression due to the custom css markup. You can, however use the Latex way to add color:
\\(P(\color{blue}{B})\\)  instead of \\(P(.blue[B])\\)

Slide 13 alignment: this can also be done the LaTeX way, though it appears you need to add quadruple slashes for a newline:
$$
\begin{align}
prob & = P(A\to A)\times P(A\to G) \times P(G\to G) \times P(T\to A) \\\\
     & = 0.97 \times 0.01 \times 0.97 \times 0.01 \\\\
     & \approx 9.4\times 10^{-6}
\end{align}
$$

good catch re iqtree slides missing the buttons at the top left, I will look into it

Yes, some changes you make may require a restart of GitPod (like the topic subsections), the image resizing in theory shoudn't require it, but there may also be some caching happening in browser/GitPod/jekyll to complicate matters. So yes, when in doubt, turn it off and on again ;P

Thanks for your patience and of course these great materials!

The promised multi-format selector is implemented, the buttons don't look so nice but they'll be updated in #4890  I am very happy to see this come to fruition, it is so nice as a user to have immediate easy access to the alternative formats that might work better for me. This is fantastic work, all.

Slide logos are fixed as well :)

Hello @hexylena - following up on your request to update the workflow file from a while back.
I tried loading the tree-bulding.ga file into Galaxy but I get an error 'Uncaught exception in exposed API method:'. I can load other .ga files so it seems to be something about this one. Any suggestions? I haven't used this feature before so let me know if I'm doing something odd here.
Alternatively, I can see in the .ga file that there is this part:

"creator": [
{
"class": "Person",
"identifier": "0000-0001-9760-8992",
"name": "Helena Rasche"
}
],
"format-version": "0.1",
"license": "MIT",

Is this the part that needs updating? I can do that manually and add a CC-BY licence. Is there a particular format needed for the licence?
@Adamtaranto and @mcharleston I see that we still have main_workflow.ga and main_workflow-tests.yml files in the folder for this tutorial. These seem to be copies of the workflow from another tutorial. Do we need these files or are they left over from when you were first setting up the folders and structure for the tutorial?
Nearly done with the slides here. I'll get back to you later in the week.

@burkemlou I've updated the tree-building.ga that would not load in galaxy, it loads now. I cannot explain the issue, but it seems like the tool was updated and now it works.

I see that we still have main_workflow.ga and main_workflow-tests.yml files in the folder for this tutorial. These seem to be copies of the workflow from another tutorial. Do we need these files or are they left over from when you were first setting up the folders and structure for the tutorial?

ahh that would explain for me why they didn't match at all the tutorial, it was why I ended up making the main-workflow.ga file (7fa178fb37c403159227871d0848937022142508) based on the instructions of the tutorial (hence the creator information in that file). But please feel free to change its license to whatever you prefer.
In that case perhaps we can delete them?

@hexylena @mcharleston FYI I have a problem with visualising the outputs of IQTREE and FASTREE related to this activity:
`Estimating a Maximum Likelihood tree with IQTree
Find the {% tool IQTree %} program in the tool finder, and run it with the following parameters:
In "General options":
{% icon param-file %} "Specify input alignment file in PHYLIP, FASTA, NEXUS, CLUSTAL or MSF format.": your aligned sequence data (output of MAFFT {% icon tool %})
"Specify sequence type as either of DNA, AA, BIN, MORPH, CODON or NT2AA for DNA, amino-acid, binary, morphological, codon or DNA-to-AA-translated sequences": DNA
In "Modelling Parameters":
In "Rate heterogeneity":
"Write maximum likelihood site ratios to .mlrate file": Yes
In "Bootstrap Parameters":
In "Ultrafast bootstrap parameters":
"Specify number of bootstrap replicates (>=1000).": 1000
Click "Run tool".
Click on the output of IQ-Tree and select the visualisation icon. Select 'Phyloviz' to view your tree.`
The visualisation is not working at all in Galaxy AU (Galaxy Australia Support request. 199713). It produces a tree in Galaxy EU but the options to modify the tree are not working as expected (also logged). Galaxy AU reports that this is not trivial to fix.
@mcharleston can we consider a different tool for the purposes of this tutorial?

Yes I saw the same, and filed it as https://github.com/galaxyproject/galaxy/issues/17770 and pinged some folks (@neoformit et al).
I thought I linked it here to ensure everyone was in the loop but seems like I potentially forgot to since I can't find it now.
I don't know what to do about that, perhaps y'all can use an external visualisation (they can maybe copy paste their newick) because galaxy isn't working at all for tree viz.

Thanks @hexylena I must have missed that. Glad to know it's not something silly that I'm doing. I'll have a chat with Michael and see if we can come up with an alternative.

@hexylena Good news! We have an alternative for Phyloviz!
I've just updated the materials to use Newick Display instead of Phyloviz for visualising the trees from the output of FASTREE and IQTree. I've also added a note that this can be done outside of Galaxy using SplitsTree or FastTree.
With this done, we don't have any more changes to make on our end.
If it's looking okay from the GTN side of things, I think we're ready to publish (hooray!).
Do let me know if you spot something that needs changing though.

@burkemlou fantastic news! I'll have a look today

🎉🎉🎉🎉 Yey!!! Thank you @shiltemann we're very excited that this is out in the world.
And thank you also to you and @hexylena for all your help with formatting, troubleshooting and getting the slides/videos to work.
I'll write a news article for the GTN this week and get that posted ASAP.
Thanks for the suggestion about the speaker notes. There are already videos and transcripts associated with these slides. Perhaps we can use the transcript to make speaker notes in the future. Something to think about as you said.


Test branch no pr required

Summary
Provide a detailed description of all the changes present in this pull request.
Additional Context
Add any additional context about the problem here.

[ ] Root cause and the steps to reproduce. (If applicable)
[ ] Thought process behind the implementation.

Related Issues (if any)
Mention any related issues or pull requests.
Checklist

[ ] 🟢 Spec tests.
[ ] 🟢 Acceptance tests.
[ ] Manually verified. (For example puppet apply)

closing as its not required.


HTTPS health URL: staging has been upgraded to SSL

Changing the staging URL to use HTTPS.  @prafulVaishnav

You should also update the URL in brackets.config.json.

The file was not changed as brackets.config.json will be picked by installers; so now; the installers will always point to the production server, and all the dev builds will point to the staging server.

The problem here is, though, that config.json is automatically updated by grunt install, which automatically runs when npm install is called.

That is what is expected. When npm install is run, that is when we are going to update URL to prod.
Basically we want to update the URL only when npm install is run which usually is the case when we create the installer. Of course if someone clones the repo, runs npm install and launches brackets from dist folder, they will be sending the reports, if opted in, to our prod servers. This is still valid but not a typical case.

Note: That does not only happen when running from dist, but also when running from src.
Imho, it would make more sense to use the same URL every time, but include a special key whether a build is a dev build or not.

I just debugged Brackets by loading index.html from src and I see that the URL is pointing to the dev environment. Are you referring to some workflow where this URL is getting overridden by prod?
And about dev and prod environments it is always good to have both the environments. Any changes that need to go into the server first are tested in the dev environment and later pushed to prod. That way we can be sure that prod is always running fine and is not effected with any WIP changes. On the same note we are seeing quite a no of logs for dev environment as well.

I meant the setup you have after running npm install.
Where this is actually kind-of a problem is in our current Bracketron work, where we run npm install very often and thus, commit unneeded changes to config.json. (see this)

As bracketron is in devolopment stage right now, I think it is ok to push braketron logs to staging instead of production :+1: That would give us separate logs on the braketron effort.

And that's the problem: Currently, they are pushed to production as the URL is changed to health.brackets.io by grunt install (which runs after npm install is called).

@MarcelGerber Could you make this change brackets.config.json in bracketron fork? Let us first figure out the build process in Bracketron and then we can talk about what would be the best way to change stage to prod URL(may be add additional build grunt step in our installer script?). But for now I would suggest to go with the pushed changes in Brackets.

@MarcelGerber Would you have to go through grunt install everytime to run bracketron? I believe we run grunt install to create dist folder and npm install to install the dependencies.

No, but as our dependencies change all the time (as it's still work in development), npm install (which then calls grunt install as a postinstall script) has to be called often as well.
grunt install does not build a dist folder, though. It just runs the write-config and less tasks. The former updates src/config.json, the latter creates dist css files (but nothing else!).
What you meant is grunt build.


fix: added default values to Client.get_signatures_for_address parameters

Issue #70 is fixed by adding None as default value for Client.get_signatures_for_address parameters for the Optional parametric inputs.

@GitBolt Please review!

thanks for fixing!


fix(docs) Changed max complexity argument name to match the code

I've tried comlexipy on a couple of my projects and run into an error No such option: -m when trying to play with max complexity. I found out, that in main.py this argument is called -c, so I changed README accordingly.

hey @korneevm thank you for your contribution, I forget to update the documentation about this change, can you please update the docs directory too?

@rohaquinlop I've missed the docs directory. Fixed now


Ladybug is not grouping the pipes in the called pipeline when ibislocalsender synchronous is false

❗ please do not add sensitive information in issues, you can provide extra information via email using issue number as reference ❗
Describe the issue
I have an IbisLocalSender with synchronous="false". The pipeline that is called by this sender is splitted into pipes in ladybug.

Reporter
Ali
FF:
7.8-RC3-20221221.104308

The issue appears to be not solved completely

@alisihab could you retest? Maybe https://github.com/ibissource/iaf/issues/4957 solved this issue too. Or can you otherwise help us to reproduce this issue?


Support for Node.js http and fs modules in GraalJS

I am reaching out to inquire about the support for Node.js core modules, particularly http and fs, within the GraalJS context. Many npm packages heavily rely on these core modules for various functionalities. However, when embedding GraalJS into a Java application using the Context API, we face limitations that prevent us from leveraging such packages.
Understanding that GraalVM aims to provide a high-performance runtime that supports various languages, the lack of support for these critical Node.js modules means that Java applications cannot fully utilize a vast ecosystem of JavaScript libraries and tools, which naturally limits the potential use cases and inter-operability options.
Are there any plans to add support for these core modules within GraalJS when used in a Java embedded context? If there are technical challenges or design decisions that prevent this support, could you share some insights on the underlying reasons or potential alternatives that you recommend?

That's unfortunately not supported, see:
https://github.com/oracle/graaljs/issues/2#issuecomment-385776163
But if you'd like to use arbitrary Node modules from Java, you may be interested in
https://mikehearn.github.io/nodejvm/
which is a set of utilities that work with GraalVM+Node to make that easier.


Feature compatibility verification

Describe your use case
Feature flags can be used in rustc to enable and disable arbitrary chunks of code via cfg. Due to the additive nature of features during the dependency resolution of cargo, however, in many cases they are supposed to behave in a compatible manner.
For instance, consider a crate with an API for no-std and some utilities for std use cases. (As implied by this construction, there is usually a feature std and not a feature no_std since adding the latter in a dependency can't be undone by a sibling dependency.) Concretely the crate may:

Have an error type which implements std::error::Error gated behind cfg(feature = "std").
Offer a method parse_str(_: &str) and additional a method parse<R: std::io::Read> gated behind the feature flag.

Now, a consumer may access the crate dep-cfg via two unrelated sibling dependencies, dep-a and dep-b. A common example may be serde_json as a wide-spread format. Then dependency dep-a may require the std feature while the other does not. Also dep-a is usually only tested against the crate without the feature. The expectation of additive features is now that dep-cfg's interface is only augmented by adding the std feature but it is not broken. Note that the sibling dependency dep-b: dep-cfg propagates the std feature flag to the crate compiled for dep-a, i.e. dep-cfg is only compiled once with the aggregate of all enabled features. For a stable ecosystem, dep-a should be able to rely on its small test suite even in the presence of unknown downstream users such as dep-b.
This is the same problem as compatibility checks between compatible versions.
Describe the solution you'd like
Add support for comparing explicit feature configurations.

A new subcommand check-features with flags --baseline-features and --features

Then the above check may be implemented in CI as follows:
cargo-semver-checks semver-checks check-features --baseline-features "" --features "std"

The semantics would be similar to using --baseline-root . in the existing subcommand check-release. It may be implemented in terms of this subcommand.
Alternatives, if applicable
No response
Additional Context
No response

Thanks for the detailed writeup, much appreciated!
This is something I've also considered, and that would be awesome to have. I think the majority of lints would be usable mostly as-is, perhaps just with tweaked error messages.
Recently, I've been thinking that the subcommand nesting cargo semver-checks check-release is a bit too involved, so this functionality may perhaps become a separate binary that's part of the same crate rather than a subcommand, kind of like how cargo add and cargo edit were both part of cargo-edit before the former was upstreamed into cargo.
Long story short, the functionality you described should exist, and it's certainly within reach!

v0.21 was just released and allows specifying the exact set of features to use, both by feature group (e.g. only default features) as well as at the level of individual features.
The functionality in your example ("check current with only feature std vs baseline without any features") can be achieved like so:
cargo semver-checks check-release --only-explicit-features --current-features std
The FAQ entry for this new feature has more information.
Thanks for your patience! If you get a chance to try it, I'd love to hear how it went.


FIX-#4314: Allow passing a series of dtypes to astype.

Signed-off-by: mvashishtha<EMAIL_ADDRESS>
What do these changes do?

[x] commit message follows format outlined here
[x] passes flake8 modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] passes black --check modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] signed commit with git commit -s
[x] Resolves #4314
[x] tests added and passing
[x] module layout described at docs/development/architecture.rst is up-to-date
[x] added (Issue Number: PR title (PR Number)) and github username to release notes for next major release

Also, fix conflicts please.

Done.


[feature] improved visualization of un/ref

Tried to backport, but the un/ref() wrapping just doesn't work well enough in the old shim for many handles.
Example:

const t = setTimeout(()=>{}, 100)

setImmediate(()=>{
  t.unref()
  setTimeout(()=> {
    t.ref()
    process.nextTick(() => setImmediate(()=> {
      t.unref()
      setTimeout(()=> {
        t.ref()
      }, 35)
    }))
  }, 10)
})

Unref/ref support is now in master.


nitfix

I can’t help myself!

Mortifying. Thank you

@ahl, it could be worse. I live next to a bodega here in Berlin called "DRINK'S AND MORE".


Broken link in NavigationExperimental docs

The link to "NavigationExperimental in UIExplorer" in the bottom section "Homework", is broken. http://facebook.github.io/react-native/releases/0.29/docs/navigator-comparison.html#navigationexperimental

@JonasWho  https://github.com/ericvicenti/navigation-rfc

@Devinsuit I don't understand why you point me to that link? In the meantime, they seem to have removed the page that I'm linking to, so I'll close this issue.


Run tests on Travis CI

This commit adds configuration for building/installing RocksDB on Travis so the unit tests can be run.
Builds now take around 10 minutes. Also, I'm not sure how to configure it for OSX but I'm not sure if this is really important?

I've just added a test matrix that allows building against different combinations of Rust/RocksDB versions.
It runs the following Rust versions:

1.2
stable
beta

And the following RocksDB versions

4.13 (latest version at time of this message)
4.5 (the version that is shipped with Ubuntu Xenial)
4.1 (an arbitary old version to see if it works)

Awesome! Thanks for adding this! I need to mark one of the tests skip which I think is also buggy when using the straight up C API (merge operator + column family) but I need to revisit this assumption.


Validator translation fallback locale can use attribute translations of default locale

Laravel Version: v6.16.0
PHP Version: 7.2.27

Description:
Validator will return translated error messages for validation rules. If the translation for the default locale does not exist, it will return the fallback locale's translation instead.
However, if a translation for the attribute does exist for the default locale, it will use that translation instead of the attribute translation of in the fallback locale.
This can cause certain words in the translation to be in the wrong language.
Steps To Reproduce:
resources/lang/en/validation.php:
<?php
return [
    'required' => 'The :attribute field is required.',
    //'same' => 'The :attribute and :other must match.'// <-- missing
    'attributes' => [
        'email' => 'email address',
        //'first_name' => 'first name', // <-- missing
    ],
]

resources/lang/nl/validation.php:
<?php
return [
    'required' => ':Attribute veld is verplicht.',
    'same' => ':Attribute en :other moeten overeenkomen.',
    'attributes' => [
        'email' => 'e-mailadres',
        'first_name' => 'voornaam',
    ]
]

config/app.php:
<?php
return [
    'locale' => 'en',
    'fallback_locale' => 'nl',
    // ...
];

Execute:
$messages = Validator::make(
    [
        'email' => 'bob',
        // 'first_name' => null // <-- missing
    ],
    [
        'email' =><EMAIL_ADDRESS>        'first_name' => 'required'
    ],
)->errors()->getMessages();

Expected:
// Even though 'nl' does have a custom translation for attribute 'first_name'
// 'en' does not. Default behaviour will replace '_' in attribute key with ' '.
$messages['first_name'][0] === 'The first name field is required.';

// 'en' does not have a translation for slug 'same' and will thus use fallback.
// Both 'en' and 'nl' have an custom attribute for 'email' but because the
// original slug was only found in the fallback, the attribute should also
// come from the fallback.
$messages['email'][0] === 'E-mailadres en<EMAIL_ADDRESS>moeten overeenkomen';

Actual:
// As expected, we don't use the fallback for 'first_name'.
$messages['first_name'][0] === 'The first name field is required.';

// Sadly, the non-fallback attribute name is placed in the fallback translation
$messages['email'][0] === 'Email address en<EMAIL_ADDRESS>moeten overeenkomen';

Workaround

Set the fallback locale to be the same as the locale.
Make sure it doesn't fallback by having all translations available for every slug.

Both of these workarounds seem to defeat the purpose of the fallback feature.

Hey there,
Can you first please try one of the support channels below? If you can actually identify this as a bug, feel free to report back and I'll gladly help you out and re-open this issue.

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

Thanks!

I asked the people over at Laracasts and they seem to see this as an unfortunate, but expected behavior.
In hindsight I guess it makes sense for any translation to be able to fallback, including the attributes of an already translated sentence.
Thanks for your time and keep up the good work!

@JochemKlingeler no problem. Thanks for investigating 👍
If you think it's useful, a pr to the docs is always appreciated to clarify things better.


Testing mode for checks

Be able to run the check in the "test" mode without reporting it further.

It is not necessary. I'll implement an option to delete a check result instead of this idea.


chore(create-react-app): minor refactors

Change single quote to double quotes (you don't know when you will use single quote inside double quotes (not template strings) , e.g "Javascript's is good").
Fix node version typo in comment.
Change empty console.log to \n.
Run create-react-app without variable declaration.

Hi @fauzan121002!
Thank you for your pull request and welcome to our community.
Action Required
In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you.
Process
In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.
Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.
If you have received this in error or have any questions, please contact us at<EMAIL_ADDRESS>Thanks!

Done, already signup as individual! :D


[redis-plus-plus] update to <1.3.2>

Library name: redis-plus-plus
New version number: 1.3.2

Hey I want to assign this issue to myself. I have a PR ready to merge.

/assign

you just need to commit pr to fix this isse, we welcome your pr

@JonLiu1993 I need someone to approve and review my workflow request in the PR I have linked.


add rule for mycli

More information about the tool : https://github.com/dbcli/mycli
Also information about can be found on this page https://github.com/dbcli/mycli/blob/main/changelog.md

A related modification for xdg-ninja: https://github.com/b3nj5m1n/xdg-ninja/issues/156

For records, I tested the migration and it worked well.


Bump aktualizr for the kRejectAll fix.

Bumped the aktualizr version to also take advantage of Laurent's metadata check fix (https://github.com/advancedtelematic/aktualizr/pull/695).

No longer necessary; aktualizr has already been bumped past the relevant commit.


example arguments, sort sci_files, pdf filename

Hi @avigan,
Thanks a lot for providing this SPHERE pipeline. I started to use it this week and it works really well!
While going through the IFS example, I made a few small fixes:

There were two arguments in the IFS example which no longer existed.
I got an esorex error (error.log) when running sph_ifs_science_cubes which I think appeared because the IFS_SCIENCE_DR_RAW files in science.sof were not sorted in time. Sorting the sci_files solved this problem.
Typo in one of the PDF output files.

Thanks @tomasstolker! Don't hesitate to make other improvements or open tickets if have ideas of improvements or find new issues.


Readjust the base Buttons size

The default is md, this font size is 16px, and the button size needs to be designed more.(Will have sm, md, lg, and xlg)

Re-studying the variables of Figma.
→ Resource: Figma Tutorial: Variants(YouTube)

TASK COMPLETE!
All sizes are readjusted, please check again.

→ Here's the current file.

By the way, I also updated the relevant information in the Style Guide, below.

Preview
→ Here's the current file.
Typography / Headings, the descriptions part.
→ Here's the current file.


Introduce sum types, drop enum

I think PSL would benefit from adopting Sum Types and forgoing the more limited enum.
Example:
Before:
enum Color {
  Red
  Teal
}

After:
union Color {
  Red
  Teal
}

Regarding:

Enums can include their corresponding value to determine what is stored by the datasource:

Before:
enum Color {
  Red  = "RED"
  Teal = "TEAL"
}

After:
Idea here is to leverage attributes to express the differing db representation.
union Color {
  Red  @as("RED")
  Teal  @as("TEAL")
}

Advantages of union

puts PSL in a position to naturally expand support for unions of models or whatever future constructs there are without users having to learn new concepts.
avoids the overloaded terminology legacy of enum
PSL already has models which are akin to product types. Sum types are a natural companion. The presence of both would seem to usher PSL into the realm of Algebraic Data Types (ADTs). The gist here is that aligning with strong/elegant theory tends to pay dividends later (But, we must clarify what they would/could be, of course. Right now, I am not sure).

More motivating examples and rationale to come as I get deeper with Prisma.

This ship has sailed it seems, if we ever do this it would be in a future major Prisma version that evolves the schema fundamentally.