text:
Can't run Lighthouse tests on pages behind auth

I'm running the latest version of the plus1 Docker container: sitespeedio/sitespeed.io:15.6.4-plus1
And the command looks something like this:
docker run --cap-add=NET_ADMIN  --shm-size=2g --rm -v "$(pwd)/config":/config -v "$(pwd)":/sitespeed.io -v /etc/localtime:/etc/localtime:ro -e MAX_OLD_SPACE_SIZE=4096 sitespeedio/sitespeed.io:15.6.4-plus1 --graphite.namespace sitespeed_io.desktopPrivateUrls --config /sitespeed.io/config/desktop.json -b chrome --preScript /sitespeed.io/lib/login.js https://www.example.com/logged-in/dashboard

I was trying to use a preScript to log in first, and this works for Browsertime, but apparently Lighthouse starts a new Chrome session and it doesn't look like scripts can be used in any way there. Thus I can't log in to prepare the session for testing before running Lighthouse tests there.
Lighthouse does have an npm package, so maybe it can be ran from sitespeed.io scripts directly?

Hi @fabis94 Browsertime and Lighthouse uses different sessions, so using a preScript will not work. There's a way to run Puppeteer before Lighthouse run that a user contributed but there's no documentation. Checkout https://github.com/sitespeedio/plugin-lighthouse/pull/17

Thanks, managed to get it working. For anyone else who finds this, you have to write a custom preScript that accepts 'browser' as its only parameter, and 'browser' is an instance Puppeteer's Browser. Using this instance you have to create a new page, log in to your site (or whatever) and then return without destroying the new page.
To make sure Lighthouse uses this script you need to use the --lighthouse.preScript CLI argument.
For me, the final command ended up looking like this:
docker run --cap-add=NET_ADMIN  --shm-size=2g --rm -v "$(pwd)/config":/config -v "$(pwd)":/sitespeed.io -v /etc/localtime:/etc/localtime:ro -e MAX_OLD_SPACE_SIZE=4096 sitespeedio/sitespeed.io:15.6.4-plus1 --graphite.namespace sitespeed_io.desktopPrivateUrls --config /sitespeed.io/config/desktop.json -b chrome --preScript /sitespeed.io/lib/login.js  --lighthouse.preScript /sitespeed.io/lib/loginPuppeteer.js https://example.com/behind-auth/portal

As you can see, both the Browsertime login preScript and the Lighthouse login preScript are necessary.

repo: sitespeedio/plugin-lighthouse


text:
Bump frontend dependencies to latest versions

Seems to be working fine 🤷🏻

Seems to be working fine 🤷🏻
Seems to be some issues when building
https://github.com/sivertschou/dundring/actions/runs/6735368093/job/18308378738?pr=270

Solid! Since we don't have a robust testing rig, I'll do some manual testing before approving 🙌

source: gharchive/pull-request

authors: morteako petter sivertschou

repo: sivertschou/dundring

license_type: permissive

license_source: github-api


text:
one test failure

===================================================================================== short test summary info ======================================================================================
FAILED tests/test_fdp.py::test_fdr_bh - AssertionError: assert False

  assert isinstance(n_rejections, np.intc)

E       AssertionError: assert False
E        +  where False = isinstance(4, <class 'numpy.int32'>)
E        +    where <class 'numpy.int32'> = np.intc
tests/test_fdp.py:22: AssertionError
on my box, n_rejections is a numpy.int64.
Do you simply want to test if this an integer, as opposed to a float ?

Hmmm that's strange, for me that test works and isinstance(n_rejections, np.int64) is false.
Are integer classes defined different across different python packages?
Yes that's right, that's what I'm trying to test are there other ways of doing that?

The point is that you probably don't ware whether it's np.int64 or np.int32. Maybe assert x == (int)x)

Ah okay thanks good suggestion

source: gharchive/issue

authors: bthirion sjdavenport

repo: sjdavenport/pyrft

license: MIT


text:
Derived metrics in Extractor must be numpy functions

Users can add metrics to be calculated after the data has been extracted from the images. Ideally, this would be an arbitrary callable, but the issue is that it can't be saved in a yaml, which I guess makes sense. Since saving and loading from yamls is such a key part of a lot of workflows right now, I'm not going to do anything to disrupt it at the moment. Instead, I think for now, add_derived_metric will only take strings and try to find that string as an attribute in numpy.
I'll think of a way to change this later.

The problem with yaml file saving also applies to extra_metrics from add_extra_metric()

repo: sjeknic/CellST


text:
页面底部控制栏错位

问题描述:

系统信息:

OS版本(带版本号): GitHub CI
TeX 发行版(带版本号): TeX Live

日志信息:

疑似颜色主题被修改

用户文档里的 miniframes 主题也是如此，看起来是少了背景？

fixed by #45

authors: LogCreative skyzh

repo: sjtug/SJTUBeamer


text:
Uncaught TypeError: Cannot read property 'executeJavaScript' of undefined

[Enter steps to reproduce below:]

...
...

Atom Version: 1.0.19
System: Mac OS X 10.11
Thrown From: browser-plus package, v0.0.52
Stack Trace
Uncaught TypeError: Cannot read property 'executeJavaScript' of undefined
At /Applications/Atom.app/Contents/Resources/atom.asar/renderer/lib/web-view/web-view.js:290

TypeError: Cannot read property 'executeJavaScript' of undefined
  at webview.executeJavaScript (/Applications/Atom.app/Contents/Resources/atom.asar/renderer/lib/web-view/web-view.js:290:76)
  at /Users/baboucha/.atom/packages/browser-plus/lib/browser-plus-view.coffee:200:32

Commands
     -6:07.7.0 browser-plus:open (div.settings-view.pane-item)
     -6:06.1.0 core:close (atom-pane.pane.active)
     -5:56.4.0 core:cancel (table.package-keymap-table.table.native-key-bindings.text)
     -0:18.1.0 editor:duplicate-lines (table.native-key-bindings.table.text)
     -0:10.1.0 core:paste (atom-text-editor.editor.mini.is-focused)
     -0:09.4.0 core:undo (atom-text-editor.editor.mini.is-focused)
     -0:02.6.0 browser-plus:open (div.settings-view.pane-item)
     -0:01.7.0 core:close (atom-pane.pane.active)

Config
{
  "core": {
    "disabledPackages": [
      "linter-jsxhint",
      "atom-leap",
      "atom-touch-events",
      "colors",
      "color-picker",
      "css-snippets",
      "debugger",
      "flatten-json",
      "json-colorer",
      "language-arduino",
      "linter-eslint",
      "linter-less",
      "merge-conflicts",
      "sass-watch",
      "turbo-javascript",
      "atom-jsx-transform",
      "dash",
      "language-ejs",
      "language-javascript-jsx",
      "react-snippets",
      "seeing-is-believing",
      "react",
      "linter",
      "jshint",
      "language-babel",
      "keybinding-resolver"
    ],
    "themes": [
      "atom-light-ui",
      "atom-light-syntax"
    ]
  },
  "browser-plus": {
    "node": true
  }
}

Installed Packages
# User
browser-plus, v0.0.52

# Dev
No dev packages

have put some patch...let me know if it helps otherwise can you list the set of steps to get to this..also did you switch on node integeration...?

closing since there are no updates

authors: bretbouchard skandasoft

repo: skandasoft/browser-plus

license: mit

license_source: bigquery


text:
NEXT: Range Slider

[!WARNING]
This issue is a work in progress.

This will act as a hub to centralize this information.
Maintainer Requests
The following requests are coming straight from the Skeleton team. These are highly likely be implemented:

https://github.com/skeletonlabs/skeleton/issues/1066
(expect this to expand over time)

Community Requests
The following requests have come from the community and are under consideration:

https://github.com/skeletonlabs/skeleton/issues/2224

Bugs and Issues

...

Feedback
If you have additional updates or requests for this feature, please do so in the comments section below.

In my proposal (Dual Range Slider #2224) there where concerns regarding the accessibility of such an component. Therfore I am linking the ARIA Guideline for the multithumb pattern:
https://www.w3.org/WAI/ARIA/apg/patterns/slider-multithumb/

+1, come across needing a dual range slider today and found this, showing interest.

authors: Elliott-Green Silvallis endigo9740

repo: skeletonlabs/skeleton


text:
Property to place cursor on the left hand side in a prompt modal

Describe what feature you'd like. Pseudo-code, mockups, or screenshots of similar solutions are encouraged!

Pseudo-code:
const prompt: ModalSettings = {
            type: "prompt",
			title: "Rename File",
			body: "Enter the new name for \"x.png\".",
			value: ".png",
			cursor: "left" // "left" || "right",
			...
}

What type of pull request would this be?
New Feature
Any links to similar examples or other references we should review?
Google Drive File Rename Prompt

@lem6ns I"m not really seeing a sane way to do this. I don't really understand the use case either. Users are typically going to either:

Continue writing, which means the cursor is best left at the far right of the contents
Select all and delete (control/command + a, then delete on your keyboard)

For now I'm going to mark this "won't fix" and close this issue. I do encourage you to look at the host of other updates coming here though:
https://github.com/skeletonlabs/skeleton/issues/922


text:
Docs/ Nav List example for highlighting to match main Nav List example

Description
I struggled a bit understanding the Skeleton.dev > Explore > Tailwind > Lists > Nav List for highlighting. As a newbie I was unfamiliar with the shorthand format it was written in, and after searching Discord for that the {href} was shorthand for how it would be written inside a loop. This makes sense, but was a bit unclear as someone newer.
So I suggest changing the highlighting example to match the main Nav List example just above the highlighting example.
Dominik and Niktek helped with some pointers in the Discord channel, as well as suggesting changing the icons.
{description}
Changsets
Instructions: Changesets automate our changelog. If you modify files in /packages/skeleton, run pnpm changeset in the root of the monorepo, follow the prompts, then commit the markdown file. Changes that add features should be minor while chores and bugfixes should be patch. Please prefix the changeset message with feat:, bugfix: or chore:.
Checklist
Please read and apply all contribution requirements.

[x] This PR targets the dev branch (NEVER master)
[x] Documentation reflects all relevant changes
[x] Branch is prefixed with: docs/, feat/, chore/, bugfix/
[ ] Ensure Svelte and Typescript linting is current - run pnpm check
[x] Ensure Prettier linting is current - run pnpm format
[x] All test cases are passing - run pnpm test
[ ] Includes a changeset (if relevant; see above)

@ddxv @Sarenor @niktek
While I agree shorthand might be confusing to new users, I don't think all the other changes are justified. Appending the attribute key should be all that's needed to clarify the point of confusion. Something like this:
<CodeBlock language="html" code={`<a href={href} class="{classesActive(href)}">Page</a>`} />

Per the emojii, we've maintained the documentation for a bit over a year and half. In that time we've changed our standards a bit. The emojii was a remnant of an old standard. We now just use (icon) as a placeholder. Skeleton is icon library agnostic, so we don't want to take a opinionated stance here. I'd welcome the skulls being replaced with (icon).
I know many libraries like to repeat the entirety of code per each snippet, but this is not how Skeleton handles this. We're a small team, so we keep things as lean as possible. I'd recommend reverting the wrapping nav/ul/li tags. This makes it harder to focus on what's being demonstrated here.
Once these changes are made, let me know and I'll be happy to merge.

Something like this:
<CodeBlock language="html" code={Page} />

@endigo9740 Thanks for the input. I updated to follow that.

That'll work, thanks for your contribution @ddxv


text:
Pass flags to program

Is there a way to pass flag to my program?

this is my first time looking at this repo, but i can answer your question: use https://github.com/namsral/flag to set flags via environment variables

repo: skelterjohn/rerun


text:
Beaglebone and host

I want to assign this between two parties Beagle bone black and my computer !  It works for that implementation?

Hello,
Sorry I'm not sure to understand what you are talking about 😕

For the diffie helman key exchange , i want to set up the key exchange  end to end flow. I have my pc in linux and i have a beaglebone black connecting on ethernet with my pc. It is possible to use this keyexchange code for generate public and private keys and in the end generate a key secret ? . Finally i want to have a key exchange between two parties , two devices!

Ho I see
It depends of your threat model. But in this scenario, I think that it's way simpler to only use symmetric encryption to encrypt data between the devices and put the same secret key on both your computer and Beaglebone.
DH Key exchange is more useful when the two (or more) parties need to communicate without having the occasion to exchange keys physically.
At the end of the day, key exchange's role is to establish a shared symmetric encryption key, so if you can completely skip key exchange step, you may as well do it.


text:
Mail sending is broken in prod

Not sure why...

lmao looks like this is a thing
https://www.linode.com/blog/linode/a-new-policy-to-help-fight-spam/

Linode unblocked this morning.

repo: skeswa/chorro


text:
distube.skip error

Please describe your problem in as much detail as possible:
When you skip a song with a repeat of the song, you will get an ERROR
Further information:

DisTube version: Beta
discord.js version: Latest
Node.js version: Latest
Operating system: Replit

Because skip will skip the current song and remove from the queue even if the queue mode is repeat song or queue.
Eg: Repeat song is on, queue has 2 songs, skip will skip the first song, remove it from the queue and play the second song
This is how it works. If you want to play from the begining, use #seek instead


text:
fix: [ENG-754] Refactor of Mempool Dep to Interfaces

Overview
I am refactoring explicit references to AuctionMempool so that the AuctionMempool can be wrapped around arbitrary mempools and logic while still supporting the basic API necessary to build and validate blocks. In the case of Berachain, we wrap the AuctionMempool into their EthTxPool so that they can support the basic API of Geth mempools while supporting POB's block building interface.

@davidterpay conflicts need resolution

authors: alexanderbez davidterpay

repo: skip-mev/pob


text:
add cli, add method QRCode.Write(), update readme

Hi @skip2 ,
I add a command-line tool qrcode, which will be built into $GOPATH/bin/ when installing this package by go get. The command can generate QR code and immediately display using imagemagick command "display":
qrcode hello word | display

A method Write method is added for type QRCode so we can write to more output stream:
 func (q *QRCode) Write(size int, out io.Writer) error {}

README.md is also reedited mostly in Markdown format and updated for the CLI.

From the travis-ci log, it should not be the issue of code.

Try removing the "release" build from the .travis.yml. I think that line's just wrong, there's no go tag called "release", similar to here:
https://github.com/travis-ci/travis-ci/issues/3076

How about now?

This looks good, thanks! :)


text:
TopicAdmin should be able to change log folder of partitions

load balance的議題中我們會涉及兩種搬移路徑:

從broker_a到broker_b
從broker的folder_a到folder_b

前者已經有TopicAdmin#reassign可以使用，但後者目前尚未有對應的APIs。我們應該給TopicAdmin實作該APis，此外，embedded cluster也應該配置多個folders以便驗證相關功能

@chia7712 學長，這個可以讓我做做看嗎,因為我之前有試著搬移過

@qoo332001 好喔，就麻煩你了

repo: skiptests/astraea


text:
Improve rendering of matplotlib image in dark mode

In dark mode, the text below figure is really close of the bottom of the figure. I think that we can change our css with a little trick:
/* sphinx-gallery */

/* add padding to images */
.bd-article img {
    height: unset !important;
    margin-top: 2%;
    margin-bottom: 2%;
}

We have something similar in scikit-learn by using padding but it is not super nice.

sounds good, why do we need the height: unset?

authors: glemaitre jeromedockes

repo: skrub-data/skrub


text:
소스 공개용 저장소 링크 제공

일반적으로 written offer에는 "You may also find the source code at http://sktelecom.github.io" 와 같이 고객이 직접 소스코드를 다운 받을 수 있는 저장소 링크를 제공합니다.
onot이 이러한 정보를 제공하려면 http://sktelecom.github.io와 같은 저장소 주소 정보를 받아서 이를 고지문에 포함시켜야 합니다. SPDX 문서는 이런 정보를 포함하지 않아서, 어떻게 처리하는게 좋을지 고민이 필요합니다.
감사합니다.

다음 두가지 방법이 가능할 것 같습니다.

"document info" 내 creator 부분에 email과 더불어 website link 기재하도록 안내하고 이를 읽어서 사용
tool running 시 argument로 받아서 사용

repo: sktelecom/onot


text:
[ENH] Wishlist Forecasters - Priorisation

High Prio

NBEATSX support #471

Random additions:

the lstm forecaster from the docs, or its multivariate version: https://github.com/sktime/pytorch-forecasting/issues/1582
potential, after architecture review and conclusion of https://github.com/sktime/pytorch-forecasting/issues/1618: the 1st generation "former" models which currently live in sktime
same, potenitally the pre-trained FM

Is any of these a work in progress? I can take up one of these if they're free :)

authors: benHeid fkiraly julian-fong

repo: sktime/pytorch-forecasting


text:
Depth map image repeats itself in image

Viewing the example images on the site, the depth map image appears more than once when viewed. Example, the martial artist one has the person 3 times, and the pig has a big version of the pig in the background, and a smaller version of the pig in the foreground.

I am not 100% sure what you are referring to here, but it sounds like an issue with how you are viewing the readme.md file as it looks and renders fine for me.  It's possibly, an issue with the browser or app you are using.    If you take a look at the markdown code behind the page you can see there is only one reference to each image.

If I have not understood the problem please give more detail of what problem you are having.

I mean if you look at the generated magic eye images on the main readme page, and you actually look at the images in them, crossing your eyes and everything, the images are repeated as I said. There are two pigs in the pig magic eye image, and three of the Martial artist, with a possible smaller one in front of them all, couldn't really tell. But there are at least three distinct heads in it.
The pig though is different, because there is one really large pig in the background and a smaller one in the center in the foreground.
The spider I could not see for the life of me, but if there's multiple of that, it would probably just look like a wall.

Looked at the martial arts one again just now, and there's two heads and two bodies with a third body floating in front of them.

Ok, I get what you mean now.  These examples are generated to be viewed by uncrossing your eyes. Normally the difference people perceive between the crossed eye and uncrossed eye approach is the 3d effect going into or out of the image.
The images can be hard for some people to view. What individuals report seeing varies as they are illusions that trick your brain into perceiving a 3d effect.  I can see them with both the crossed and uncrossed eye methods. However, in my opinion, the uncrossed method produces a nicer viewing experience and can eliminate the multiple images you are reporting.
If you want to try the uncrossed method.  I'd recommend viewing the image as large as possible, so it takes up as much of your field of view as possible.  Then try and focus as if you are looking at something that is far behind the image.  This should make your eyes diverge and reveal the effect.  It can take some practice.  If you can have something in the distance (at least 2x the distance away as you are from the image) behind the image, then you can glance between, that might help.
If you want to have crossed-eyes versions then you would need to generate your own versions using the nodes but set the invert depth map option to make the image appear as the are coming out rather than in.

Here is a crossed-eyed version of the pig example if that helps. But as I said previously I find the uncrossed version much nicer to view and much more stable.

Finally, I would say that if you are seeing 3 or more images then you are probably crossing you eyes too much. Try uncrossing them a little bit.  It can be hard to get the balance and the amount of eye crossing just right as it's not normal for your eyes to cross in normal day-to-day life.  However, it is very normal for eyes to diverge as you do this naturally when you look at distant objects.

authors: bedalton skunkworxdark


text:
assert output["bytesIn"] == output["bytesOut"] fails in system_tests_tcp_adaptor_tls

https://github.com/skupperproject/skupper-router/actions/runs/4186029481/jobs/7254037161#step:10:3134
61:     def test_80_stats(self):
61:         tname = "test_80 check stats in skmanage"
61:         self.logger.log(tname + " START")
61:         # Verify listener stats
61:         query_command = 'QUERY --type=tcpListener'
61:         outputs = json.loads(self.run_skmanage(query_command))
61:         es_inta_connections_opened = 0
61:         for output in outputs:
61:             if output['address'].startswith("ES"):
61:                 if output['address'] == 'ES_INTA':
61:                     es_inta_connections_opened += output["connectionsOpened"]
61:                 # Check only echo server listeners
61:                 assert "connectionsOpened" in output
61:                 # There is a listener with authenticatePeer:yes and we have not run any tests on it yet, so
61:                 # it is allowed to have zero connectionsOpened
61:                 if output['address'] != 'ES_INTA' and output['address'] != 'ES_BAD_CONNECTOR_CERT_INTA' \
61:                         and output['address'] != 'ES_GOOD_CONNECTOR_CERT_INTA' \
61:                         and output['address'] != 'ES_ALL':
61:                     assert output["connectionsOpened"] > 0
61: >               assert output["bytesIn"] == output["bytesOut"]
61: E               assert 501106 == 501101
61:
61: /home/runner/work/skupper-router/skupper-router/skupper-router/tests/system_tests_tcp_adaptor.py:1336: AssertionError

======================================================================
FAIL: test_50_concurrent_interior (system_tests_tcp_adaptor_tls.TcpTlsAdaptor.test_50_concurrent_interior)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/skupper-router/tests/system_tests_tcp_adaptor.py", line 1167, in test_50_concurrent_interior
    assert result is None, "TCP_TEST Stop %s FAIL: %s" % (name, result)
           ^^^^^^^^^^^^^^
AssertionError: TCP_TEST Stop test_50_concurrent_interior FAIL: TCP_TEST TIMEOUT - local wait time exceeded

======================================================================
FAIL: test_80_stats (system_tests_tcp_adaptor_tls.TcpTlsAdaptor.test_80_stats)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/skupper-router/tests/system_tests_tcp_adaptor.py", line 1336, in test_80_stats
    assert output["bytesIn"] == output["bytesOut"]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError

======================================================================
FAIL: test_90_balancing (system_tests_tcp_adaptor_tls.TcpTlsAdaptor.test_90_balancing)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/skupper-router/tests/system_tests_tcp_adaptor.py", line 1358, in test_90_balancing
    self.assertIsNone(result)
AssertionError: 'TCP_TEST TIMEOUT - local wait time exceeded' is not None

----------------------------------------------------------------------
Ran 37 tests in 204.116s

https://download.copr.fedorainfracloud.org/results/packit/skupperproject-skupper-router-1014/fedora-rawhide-s390x/05706353-skupper-router/builder-live.log.gz

Closing this since we have not seen this for a year

authors: ganeshmurthy jiridanek

repo: skupperproject/skupper-router


text:
Attempt to invoke virtual method 'void com.facebook.react.uimanager.ReactShadowNode.setStyleWidth(float)' on a null object reference

The app crash in some devices sometimes...
Attempt to invoke virtual method 'void com.facebook.react.uimanager.ReactShadowNode.setStyleWidth(float)' on a null object reference

any new about this one?! :/

seems to be fixed https://github.com/facebook/react-native/issues/10845

authors: Moumene juanmanuelarze skv-headless


text:
No Callback when we click power spinner? And if no callback then at a time 2 power spinner open how we dismiss without callback?

Please complete the following information:

Library Version [e.g. v1.0.0]
Affected Device(s) [e.g. Samsung Galaxy s10 with Android 9.0]

Describe the Bug:
Add a clear description about the problem.
Expected Behavior:
A clear description of what you expected to happen.

Just open first click without selecting item again we open second power spinner then how we close first if no callback request? Please guide

Hi, sorry for the late response. You can achieve this with the codes below:
setOnSpinnerItemSelectedListener<String> { _, _, _, item ->
        binding.spinnerView2.hint = item
        Toast.makeText(applicationContext, item, Toast.LENGTH_SHORT).show()
      }

Thanks!

repo: skydoves/PowerSpinner


text:
Set wheel alpha only applies to picker not sliders

Please complete the following information:

Library Version: v1.0.1

Describe the Bug:
Set wheel alpha only applies to picker not sliders. The little white dot is still pure white on the others. This probably applies to all of the "wheel" settings. I would expect them to all be consistent.

This issue was fixed in the new release, 1.0.2. Thanks for reporting this issue!

authors: coderforlife skydoves

repo: skydoves/colorpicker-compose


text:
[solution plugin] error showing solutions for 377

[Problem screenshot]

I think this is an empty args error of some sort.
I can try debugging on my own but I need some help as of where to start cracking this problem.
Using leetcode version 2.0.2.

Thanks for reporting this. It seems leetcode.com used different logic to display solutions on page
for those newer problems. Will try to look into this later whenever possible from other busy work.

@yefeiw please try the latest solution.discuss plugin (v=2017.12.21) to see if the issue is gone.

authors: skygragon yefeiw

repo: skygragon/leetcode-cli-plugins


text:
Unicode symbol 2e0d not properly rendered

I make an extensive use of Unicode, and I found that  ⸍, which I type with code 2e0d (or U+2e0d), does not display as expected. I just see a box.
I am using XUbuntu 20.04 with Lagrange-1.5.2-x86_64.AppImage
The same symbol is correctly shown in Bombadillo, Amfora and Ariane (the ones I tested).
The symbol is called "right raised omission bracket", although I am using it as the superscript version of the forward slash.
Any help would be appreciated.

Currently Lagrange uses only fonts bundled with the app (so the same ones are available everywhere), and there's an option to configure one additional local TrueType font for additional symbols.
The fonts bundled with v1.5.2 don't contain U+2E0D. You'll need to go to Preferences > Style > Symbol font and enter the path of a TrueType font file with the glyphs you need.
Future releases may include the ability to automatically use system-provided fonts (#195).

authors: al-al-physics skyjake

repo: skyjake/lagrange


text:
Automatically switch to dark theme on Windows

The iOS build automatically switches themes according to the current system color scheme, and if IIRC the macOS build does it too. I wonder, could this feature land on Windows too? I think it's pretty useful for folks like me that use AutoDarkMode to switch color schemes on a schedule.

This should be doable.
However, there is a small wrinkle in that this feature requires Windows 10 while the app should run on Windows 7, too. Something to take into consideration...

There's the AppsUseLightTheme registry key (located at Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize). By being accesible through the registry i think it should work on previous versions too.
Wish I could help with the implementation but I don't really know any C. 😕 Thank you for this great piece of software though! Hope my suggestion was helpful.

I've read through the code and it seems like the app already does some form of dark mode detection, which is for the title bar only. Could it be possible to also enable the option in the UI and execute a os.theme.changed command like in MacOS & iOS?

authors: quienn skyjake


text:
[core] Illegal instructions before constructor call

Issue details
In class de.sellfisch.android.wwr.a.m of https://apkpure.com/who-becomes-rich/de.sellfisch.android.wwr/download/1.15.1 the constructor can't be decompiled due to an illegal instructions before constructor call.
Tested with latest git version.
Relevant log output or stacktrace
No response
Provide sample and class/method full name
Constructor of de.sellfisch.android.wwr.a.m
Jadx version
latest git version

@nitram84 for me constructor looks fine:
    /* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
    public m(l lVar, Context context) {
        super(context, l.a, (SQLiteDatabase.CursorFactory) null, l.c());
        this.a = lVar;
    }

Maybe we have different settings?
Can you share yours using Copy to clipboard button at the bottom of preferences window?

Mine settings
{
  "flattenPackage": false,
  "checkForUpdates": true,
  "fontStr": "",
  "smaliFontStr": "",
  "editorThemePath": "/org/fife/ui/rsyntaxtextarea/themes/monokai.xml",
  "lafTheme": "FlatLaf Dark",
  "langLocale": {
    "locale": "en_US"
  },
  "autoStartJobs": false,
  "excludedPackages": "",
  "saveOption": "ALWAYS",
  "shortcuts": {
    "BACK_V": {
      "mouseButton": 4
    },
    "FORWARD_V": {
      "mouseButton": 5
    }
  },
  "showHeapUsageBar": false,
  "alwaysSelectOpened": false,
  "useAlternativeFileDialog": false,
  "codeAreaLineWrap": false,
  "srhResourceSkipSize": 1000,
  "srhResourceFileExt": "*",
  "searchResultsPerPage": 50,
  "useAutoSearch": true,
  "keepCommonDialogOpen": false,
  "smaliAreaShowBytecode": false,
  "lineNumbersMode": "AUTO",
  "mainWindowVerticalSplitterLoc": 300,
  "debuggerStackFrameSplitterLoc": 300,
  "debuggerVarTreeSplitterLoc": 700,
  "adbDialogPath": "",
  "adbDialogHost": "localhost",
  "adbDialogPort": "5037",
  "codeCacheMode": "DISK",
  "usageCacheMode": "DISK",
  "jumpOnDoubleClick": true,
  "xposedCodegenLanguage": "JAVA",
  "jadxUpdateChannel": "STABLE",
  "treeWidth": 169,
  "dockLogViewer": true,
  "dockQuickTabs": false,
  "tabDndGhostType": "OUTLINE",
  "settingsVersion": 22,
  "skipResources": false,
  "skipSources": false,
  "exportAsGradleProject": false,
  "threadsCount": 4,
  "decompilationMode": "AUTO",
  "showInconsistentCode": false,
  "skipXmlPrettyPrint": false,
  "useImports": true,
  "debugInfo": true,
  "addDebugLines": false,
  "inlineAnonymousClasses": true,
  "inlineMethods": true,
  "moveInnerClasses": true,
  "allowInlineKotlinLambda": true,
  "extractFinally": true,
  "restoreSwitchOverString": true,
  "replaceConsts": true,
  "escapeUnicode": false,
  "respectBytecodeAccessModifiers": false,
  "userRenamesMappingsMode": "READ",
  "deobfuscationOn": false,
  "deobfuscationMinLength": 3,
  "deobfuscationMaxLength": 64,
  "deobfuscationWhitelistStr": "android.support.v4.* android.support.v7.* android.support.v4.os.* android.support.annotation.Px androidx.core.os.* androidx.annotation.Px",
  "generatedRenamesMappingFileMode": "READ",
  "resourceNameSource": "AUTO",
  "useKotlinMethodsForVarNames": "APPLY",
  "renameFlags": [
    "CASE",
    "VALID",
    "PRINTABLE"
  ],
  "integerFormat": "AUTO",
  "fsCaseSensitive": false,
  "cfgOutput": false,
  "rawCfgOutput": false,
  "fallbackMode": false,
  "useDx": false,
  "commentsLevel": "INFO",
  "pluginOptions": {}
}

Apk m5sum: f8085c776b4ddde8ca9edcf9d711429e

Thank you for your test! I tested again, this time explicitly with the nightly build jadx-r2348.17695ba , checksum was identical. I also removed all installed custom plugins for my test. Tested with OpenJDK 21.0.5 on Linux.

My settings are very similar:
{
  "flattenPackage": false,
  "checkForUpdates": true,
  "fontStr": "",
  "smaliFontStr": "",
  "editorThemePath": "/org/fife/ui/rsyntaxtextarea/themes/default.xml",
  "lafTheme": "FlatLaf Light",
  "langLocale": {
    "locale": "de_DE"
  },
  "autoStartJobs": false,
  "excludedPackages": "",
  "saveOption": "ASK",
  "shortcuts": {},
  "showHeapUsageBar": false,
  "alwaysSelectOpened": false,
  "useAlternativeFileDialog": false,
  "codeAreaLineWrap": true,
  "srhResourceSkipSize": 1000,
  "srhResourceFileExt": ".xml|.html|.js|.json|.txt",
  "searchResultsPerPage": 50,
  "useAutoSearch": true,
  "keepCommonDialogOpen": false,
  "smaliAreaShowBytecode": false,
  "lineNumbersMode": "AUTO",
  "mainWindowVerticalSplitterLoc": 300,
  "debuggerStackFrameSplitterLoc": 300,
  "debuggerVarTreeSplitterLoc": 700,
  "adbDialogPath": "",
  "adbDialogHost": "localhost",
  "adbDialogPort": "5037",
  "codeCacheMode": "DISK",
  "usageCacheMode": "DISK",
  "jumpOnDoubleClick": true,
  "xposedCodegenLanguage": "JAVA",
  "jadxUpdateChannel": "STABLE",
  "treeWidth": 476,
  "dockLogViewer": true,
  "dockQuickTabs": false,
  "tabDndGhostType": "OUTLINE",
  "settingsVersion": 22,
  "skipResources": false,
  "skipSources": false,
  "exportAsGradleProject": false,
  "threadsCount": 4,
  "decompilationMode": "AUTO",
  "showInconsistentCode": false,
  "skipXmlPrettyPrint": false,
  "useImports": true,
  "debugInfo": true,
  "addDebugLines": false,
  "inlineAnonymousClasses": true,
  "inlineMethods": true,
  "moveInnerClasses": true,
  "allowInlineKotlinLambda": true,
  "extractFinally": true,
  "restoreSwitchOverString": true,
  "replaceConsts": true,
  "escapeUnicode": false,
  "respectBytecodeAccessModifiers": false,
  "userRenamesMappingsMode": "READ",
  "deobfuscationOn": false,
  "deobfuscationMinLength": 3,
  "deobfuscationMaxLength": 64,
  "deobfuscationWhitelistStr": "android.support.v4.* android.support.v7.* android.support.v4.os.* android.support.annotation.Px androidx.core.os.* androidx.annotation.Px",
  "generatedRenamesMappingFileMode": "READ",
  "resourceNameSource": "AUTO",
  "useKotlinMethodsForVarNames": "APPLY",
  "renameFlags": [
    "CASE",
    "VALID",
    "PRINTABLE"
  ],
  "integerFormat": "AUTO",
  "fsCaseSensitive": false,
  "cfgOutput": false,
  "rawCfgOutput": false,
  "fallbackMode": false,
  "useDx": false,
  "commentsLevel": "INFO",
  "pluginOptions": {
    "apkspy.androidSdk.path": "...",
    "apkspy.apktoolLocation.path": "...",
    "apkspy.jdkLocation.path": "..."
  }
}

I'm still getting the same issue:
package de.sellfisch.android.wwr.a;

import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/* loaded from: classes.dex */
class m extends SQLiteOpenHelper {
    final /* synthetic */ l a;

    /* JADX WARN: Illegal instructions before constructor call */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
        To view partially-correct code enable 'Show inconsistent code' option in preferences
    */
    public m(de.sellfisch.android.wwr.a.l r4, android.content.Context r5) {
        /*
            r3 = this;
            r3.a = r4
            java.lang.String r0 = de.sellfisch.android.wwr.a.l.a
            r1 = 0
            int r2 = de.sellfisch.android.wwr.a.l.c()
            r3.<init>(r5, r0, r1, r2)
            return
        */
        throw new UnsupportedOperationException("Method not decompiled: de.sellfisch.android.wwr.a.m.<init>(de.sellfisch.android.wwr.a.l, android.content.Context):void");
    }

    @Override // android.database.sqlite.SQLiteOpenHelper
    public void onCreate(SQLiteDatabase sQLiteDatabase) {
    }

    @Override // android.database.sqlite.SQLiteOpenHelper
    public void onUpgrade(SQLiteDatabase sQLiteDatabase, int i, int i2) {
    }
}

I don't understand what the difference is.

Oh! That is definitely a threading issue, I managed to catch both versions with project reloads. Correct decompilation appears more often using class search (which I do at my first try) but also throwing some errors in log :rofl:
I will continue working on this :+1:

Ok, I fixed both issues:

Missing synchronization:
If search dialog closes after selecting class, it also executes clean task and unloads all classes, but opened class can be still decompiling and this may fail decompilation.
Inlined method prevent code inline:
If instruciton in inlined method has wrapped flag (often for cases of single return), after inline this flag prevents code shrink for that instruction. This cause error Illegal instructions before constructor call

As result if first error occur => l class not decompiled => method l.c() not marked for inline => instruction not inlined => code in m constructor shrinked properly => no error in opened class :rofl:

Thank you very much for your fixes!

repo: skylot/jadx


text:
[fix] add back copy_logs

This fixes  #748.

@HaileyJang Could you help to review? Thanks!

friendly ping for review. cc @parasj @ShishirPatil Thanks!

repo: skyplane-project/skyplane


text:
Granular bot permissions

updates for granular bot permissions added, please verify with a working levelDB instance (couldn't get mine to work).

LGTM

authors: girliemac pichsenmeister


text:
Add scripting section to README

Similar to https://github.com/github/hubot/blob/master/docs/scripting.md it'd be good to include some examples of Slack-specific behavior. The things that come to mind so far:

using attachments, ie robot.emit 'slack-attachment'
call the Slack API, ie https://github.com/slackhq/hubot-slack/issues/209

+1

+1

+1

Another thing to document, using custom listeners:
 robot.listeners.push new SlackBotListener(robot, regex, callback)

This was introduced in https://github.com/slackhq/hubot-slack/pull/133

+1

+1

+1

What I am finding (at least with the PagerDuty Slack integration that I am working with) is that what is shown in Slack is not what is being picked up by SlackBotListener so I think this may explain some people's troubles.  I was wasting a lot of time because I thought I could simply replace working robot.hear or robot.respond functions using the same regex's.
For Slack Integrations/Slack Apps you are working with you may want to start with this:
HubotSlack = require 'hubot-slack'

module.exports = (robot) ->
  regex = /(.+)/
  robot.listeners.push new HubotSlack.SlackBotListener robot, regex, (msg) ->
    msg.send "whole message: #{msg.match[1]}"

Then compare what you see from the Slack integration vs. what you get out of the SlackBotListener.
For example, from the PagerDuty Slack integration I get (formatted prettier with links but this is really just a copy/paste):
pagerduty BOT [2:32 PM]
Resolved: Incident #267 (XXXXX)
----------------
botdefault

Resolved By
----------------
Aaron Blythe

description
----------------
test bot cycle - @ablythe

View Incident Details

From the msg.send in the snippet above I get:
MyBot BOT [2:32 PM]
whole message: Resolved: Incident (botdefault (https://team.pagerduty.com/services/XXXXX)): description: test bot cycle - @ablythe (read more (https://team.pagerduty.com/incidents/XXXXX))

I don't know enough about the code that produces this message in Slack to know if this is intentional or a bug.  At the very least is violates the principle of least astonishment (since things like #267 are just missing).  I am finding that simple snip above to be tremendously helpful in helping me understand why things are not working.  Hope this helps someone else.

+1

I'm missing an info how to get the channel name? Currently I only get a room id via the following snippet:
# helper method to get channel of originating message   get_channel = (response) ->     if response.message.room == response.message.user.name       "@#{response.message.room}"     else       "##{response.message.room}"
Maybe related to this change: https://github.com/slackhq/hubot-slack/issues/328

See https://github.com/slackhq/hubot-slack/pull/314 for the current usage of attachments.

I don't believe this specific addition is still valid anymore, but the API docs are due for additional examples. Reopen as needed.

authors: DavidAwad JonathanRosado SammyIsra aaronblythe johnagan justmiles mshwery nemo piersb rowi1de technicalpickles

repo: slackhq/hubot-slack


text:
Fix a data race found while read and write of HostInfo.localIndexId

data race originally found issue #283 case 5
5. ==================
WARNING: DATA RACE
Read at 0x00c0001b8684 by goroutine 14:
  github.com/slackhq/nebula.(*HostMap).GetIndexByVpnIP()
      github.com/slackhq/nebula/hostmap.go:107 +0x14a
  github.com/slackhq/nebula.(*HandshakeManager).handleOutbound()
      github.com/slackhq/nebula/handshake_manager.go:102 +0x76
  github.com/slackhq/nebula.(*HandshakeManager).NextOutboundHandshakeTimerTick()
      github.com/slackhq/nebula/handshake_manager.go:97 +0xb9
  github.com/slackhq/nebula.(*HandshakeManager).Run()
      github.com/slackhq/nebula/handshake_manager.go:83 +0x1ea

Previous write at 0x00c0001b8684 by goroutine 17:
  github.com/slackhq/nebula.(*HostMap).AddIndexHostInfo()
      github.com/slackhq/nebula/hostmap.go:191 +0x76
  github.com/slackhq/nebula.ixHandshakeStage2()
      github.com/slackhq/nebula/handshake_ix.go:363 +0x3791
  github.com/slackhq/nebula.HandleIncomingHandshake()
      github.com/slackhq/nebula/handshake.go:28 +0x2f8
  github.com/slackhq/nebula.(*Interface).readOutsidePackets()
      github.com/slackhq/nebula/outside.go:104 +0x679
  github.com/slackhq/nebula.(*udpConn).ListenOut()
      github.com/slackhq/nebula/udp_generic.go:109 +0x3b5
  github.com/slackhq/nebula.(*Interface).listenOut()
      github.com/slackhq/nebula/interface.go:147 +0x15e

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Fixed by #396 (by locking higher up, around the handshake process) and also the use of GetIndexByVpnIP was removed by #329 . Thanks for the PR and I'm sorry we didn't get to it originally.

authors: CLAassistant darren wadey

repo: slackhq/nebula


text:
Remove self import

Please see https://github.com/purescript/purescript/issues/3079 for details.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant paulyoung

repo: slamdata/purescript-formatters


text:
Parsing query params

parse "user/10/?a=1"

will parse with three RoutePart's
Path "user" : Path "10" : Query ... : Nil

But
parse "user/10?a=1"

will parse with two parts:
Path "user" : Path "10?a=1" : Nil

This is a bit unexpected.

A solution would be to split using a regex:
import Data.String.Regex as R
import Data.String.Regex.Flags as R
R.split (unsafePartial fromRight $ R.regex "\\/|(?=\\?)" R.noFlags) hash

instead of using S.split (S.Pattern "/") hash

repo: slamdata/purescript-routing


text:
query_parsing_exception: failed to find geo_point field [location]

On model I have
 'location' => ['lat' => $this->lat, 'lon' => $this->lng ],
In mapping
 $map->point('location')->lat_long(true)->geohash(true);
It's being saved on ES http://i.imgur.com/V8FKtXS.png
Tried in kibana if I can build a Tile map, but, No Compatible Fields: The "XXXXX" index pattern does not contain any of the following field types: geo_point
Any ideas?

I recreated the index manually setting the mapping
  "location": {
          "geohash": true,
          "type": "geo_point"

works now

You can set the field type when you create your mappings, you can avoid doing it manually right ?

I did set it, as I pointed out in my problem. It just didn't recognise it as a geo point

I see , and you didn't get any error when you ran the mappings ?

Nop, the data was being saved just not identified as a geo point


text:
CodeMirror is not defined

Describe the bug
After upgrading to the newest slidev version I'm getting the following error:
placeholder.js?v=f557482b:10 Uncaught (in promise) ReferenceError: CodeMirror is not defined
at placeholder.js?v=f557482b:10
at placeholder.js?v=f557482b:11
To Reproduce
Steps to reproduce the behavior:

Upgraded to the latest slidev version
Rund command nem run dev --entry mymarkdown.md
Open browser
See the above error on some slides

Desktop (please complete the following information):

OS: MacOS
Browser: Chrome
Slidev version: 0.21.3

Might be some cache issue, can you try to do a clean install and try again?

I already tried this, but this also did not work

@antfu It seems like these are all issues on my side - ill close this one for now ... If there is anything which I think could be on your side, ill let you know

authors: antfu mariomurrent-softwaresolutions

repo: slidevjs/slidev


text:
Custom JS Vue components are not rendered

Describe the bug
Custom JS, JSX and TSX Vue components are not rendered.
To Reproduce

In a freshly installed Slidev project (with npm init), add a component component/MyComponent.js

export default {
  render(){
    return "Hello World"
  }
};

In slides.md , add

<MyComponent />

The component does not render, and three errors are thrown in the Chrome Devtools console, that start with:
runtime-core.esm-bundler.js:40 [Vue warn]: Failed to resolve component: MyComponent
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.

Same with JSX and TSX components.
Desktop (please complete the following information):

OS: Kubuntu
Browser: Chrome
Slidev version: 0.36.11

I found the cause:
https://github.com/slidevjs/slidev/blob/cc671b400b9401b56c8be8440f9b688bc346f406/packages/slidev/node/plugins/preset.ts#L102
This contradicts the documentation: https://sli.dev/custom/directory-structure.html#components

After adding  'jsx', 'tsx' in the array mentioned above, I get an error "ReferenceError: React is not defined" when I use JSX in an .jsx or .tsx file.

It works after adding installing @vitejs/plugin-vue-jsx with a  vite.config.js file as per https://github.com/vitejs/vite/blob/main/packages/plugin-vue-jsx/README.md

And to include the missing file extensions, the complete vite.config.js is:
import vueJsx from '@vitejs/plugin-vue-jsx';
import { defineConfig } from 'vite';

export default defineConfig({
  plugins: [
    vueJsx()
  ],
  slidev: {
    components: {
      extensions: ["vue", "md", "js", "ts", "jsx", "tsx"]
    },
  },
});

Maybe can you propose a PR to add support of jsx and tsx files ?

authors: tonai vibl


text:
Slim 4 Pre-Beta Testing

Public Announcement
All of the Slim 4 roadmap has been implemented. I feel like we are in a good place to do some alpha testing so we can get some feedback for a beta release.
Before doing anything read the docs
I just finished the first draft of the docs for Slim 4 which are available here. I need feedback please:
http://slim-website.lgse.com
Download an test the 4.x Branch
You may also play around with the 4.x branch and create a simple app with it to test things out.
composer require slim/slim:4.x-dev
Install a PSR-7 Implementation
You will also need to install a PSR-7 implementation and ServerRequestCreator combo. You can use Slim's PSR-7 Implementation or choose one of the ones described on the 4.x branch README: https://github.com/slimphp/Slim/blob/4.x/README.md
composer slim/psr-7:dev-master
Slim 4 DDD API Skeleton Prototype
I also just created a Slim4 Skeleton with a DDD style directory structure and example files and test coverage for everything. I'm not sure if it's the right fit yet as it may be a bit too opinionated but I'd love some feedback:
https://github.com/l0gicgate/Slim-Skeleton/tree/4.x
If you have any questions don't hesitate to ping me on Slack or ask questions in this thread directly, I'm available to help!

@l0gicgate  Just a little nitpik:
The link to "contributing: Branching Strategy" on this page: http://slim-website.lgse.com/docs/v4/cookbook/uploading-files.html -- Links to version 3 (http://slim-website.lgse.com/docs/v3/contributors/strategy.html)

Good catch @RyanNerd!

@l0gicgate Version 3 has a Tutorial link with a guide to creating a "first application". Slim 4 with all the decoupling and plug-in choices (PSR-7, Containers, Route & ErrorHandling as middleware, etc.) is much more complex than Slim 3. This can be overwhelming to someone new to Slim (and even those like myself that are familiar with version 3).
Perhaps the docs could include a Tutorial for v4 showing how to create a "first application" using bare bones concepts and the  plug-in defaults.

I removed the tutorial from the v4 docs for now. It does need to be written and will be added to the docs later. In the mean time someone can look at the skeleton repository to see how things are implemented in a "real life" scenario.
I also think that a video tutorial would be much better. I just need time to get it done.

Install a PSR-7 Implementation
You will also need to install a PSR-7 implementation and ServerRequestCreator combo. You can use Slim's PSR-7 Implementation or choose one of the ones described on the 4.x branch README: https://github.com/slimphp/Slim/blob/4.x/README.md
composer slim/psr-7:dev-master

composer require slim/psr-7:dev-master 😉

With the  double-pass function ($request, $response, $next) being removed from middleware I'm trying to figure out how to short circuit the response. For example I am using the double pass function to check for a valid API key in middleware. If the API key isn't valid then I would return a response indicating an error status. If the API key is valid then I would simply call $next($request, $response)
The question is how do I short circuit the middleware in Slim 4?

Install a PSR-7 Implementation
You will also need to install a PSR-7 implementation and ServerRequestCreator combo. You can use Slim's PSR-7 Implementation or choose one of the ones described on the 4.x branch README: https://github.com/slimphp/Slim/blob/4.x/README.md
composer slim/psr-7:dev-master

composer require slim/psr-7:dev-master 😉

composer require slim/psr7:dev-master it's not "psr-7"

See if you can tell who didn't run it but commented anyway... 😆

@RyanNerd simply return a response object without calling $handler->handle($request)

It looks like ErrorHandler will only catch exceptions thrown from further down the middleware stack.  What about exceptions/errors thrown before then, eg a misconfiguration throwing an exception when initializing everything?  Would you just register methods within ErrorHandler to the PHP exception and error handlers via set_error_handler() and set_exception_handler() to handle those?

@davidbyoung I documented on how to handle all errors in the docs under Notices & Warnings handling. This shows a more advanced way of handling all errors. See http://dev.slimframework.com/docs/v4/objects/application.html#notices-and-warnings-handling

@holtkamp thanks for reporting this. It has to stay the same until I merge the gh-pages-4.x branch into gh-pages which won't be until Slim 4 is released. It'll have to stay broken for a bit 😂

In the documentation and the readme file, index.php refers to '/vendor/autoload.php'.  This seems to suggest that the vendor directory should be placed within the public directory, where index.php lives. That seems pretty dangerous. Would it make sense to change to this to refer to __DIR__ . '/../vendor/autoload.php' instead?

How about adding suggestions for the PSR-7 implementations mentioned in the README.md to composer.json?
{
    "suggest": {
        "slim/psr7": "This is the Slim Framework projects PSR-7 implementation.",
        ...
    }
}

See: https://getcomposer.org/doc/04-schema.md#suggest

Hi, I have a question about default middleware implementation. But first I need to clear my understanding the idea abou using this framework. When I look at your setup of App, it seems like whole idea is setup app via DI, cause the factories etc., is that right?  Second is about middleware, I get idea, like all is middleware so everything is implemented same way. But It seems like I need to setup everyting by myself, is it right conclusion? And at the end, wouldn't be better if basic middlewares, like RouteMiddleware and ErrorMiddleware has been setup automaticly?

@bednic the App can run without a container. It sure makes one’s life a lot easier to provide one though.
RoutingMiddleware is added by default if the end user does not add it to the middleware queue. It will run last however, which means that the routing data won’t be available through the middleware stack if you have other middleware that depends on it.
As for ErrorMiddleware you need to place it at the outer most edge of your application (add it last, right before run, so it runs first) and we can’t automatically add it based on assumptions otherwise it wouldn’t behave correctly.

Hello.
Missing an example of using sessions with cookies

@danielspk I'm not sure exactly how to show an example of that since Slim doesn't handle sessions. That's typically something you'd implement via middleware or if you want sessions turned on at all times just use session_start() after the require __DIR__ . '/../vendor/autoload.php';

I can't get the middleware examples to work.
e.g.: http://dev.slimframework.com/docs/v4/concepts/middleware.html#application-middleware
From what I can tell, the 'BEFORE' middleware prevents the route from being called.. somehow.

Hi, I made a simple repository that uses travis-ci to automatically test the slim4 framework against multiple PSR-7 implementations. See https://github.com/adriansuter/Slim4-CI
Currently, all are working fine!

Awesome @adriansuter thank you. You should join our Slack so we can chat

I'm having trouble with POST requests always returning null for getParsedBody()
I'm testing using Insomnia POST payload like {"test":"test"}
Here's the code:
<?php
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;
use Slim\Middleware\ErrorMiddleware;
use Slim\Middleware\RoutingMiddleware;

require __DIR__ . '/vendor/autoload.php';

$app = AppFactory::create();

// Add Routing Middleware
$routeResolver = $app->getRouteResolver();
$routingMiddleware = new RoutingMiddleware($routeResolver);
$app->add($routingMiddleware);

// Error middleware
$callableResolver = $app->getCallableResolver();
$responseFactory = $app->getResponseFactory();
$errorMiddleware = new ErrorMiddleware($callableResolver, $responseFactory, true, true, true);
$app->add($errorMiddleware);

// Define app routes
$app->post('/posttest', function (Request $request, Response $response, $args) {
    $content = $request->getParsedBody();
    if ($content === null) {
          $response->getBody()->write('Error no JSON in request body or something else?!?!?!?!?');
    } else {
        // Response is the JSON string echoed back
        $response->getBody()->write($content);
    }
    return $response;
});

// Run app
$app->run();

@RyanNerd - parsedBody gets populated with $_POST, but in PHP you have to get JSON data from php://input
As far as I can tell there's no method in Slim to retrieve JSON, so you'll have to do it manually I guess.

@RyanNerd maybe related to this:
https://github.com/slimphp/Slim-Psr7/issues/38, which is fixed already.
When doing your POST request, what headers are sent in the request?

@holtkamp These are the headers ($request->getHeaders()):
Host: localhost
User-Agent: insomnia/6.4.2
Content-Type: application/json
Accept: */*
Content-Length: 135

The Content-Length matches exactly to the test JSON I sent as a request. Not sure what is going on here?!? What's interesting is if I do $content = file_get_contents('php://input'); then the POST body is assigned to $content as a string. I suspect that somewhere in the Slim code 'php://input' is missing...
Try running the code yourself and see if you get the same results. Here's the composer.json I am using:
{
    "minimum-stability": "dev",
    "require": {
        "slim/slim": "4.0.0-alpha@dev",
        "slim/psr7": "dev-master"
    }
}

In terminal:
composer install
 php -S localhost:8080

Fire up either PostMan or Insomnia endpoint: localhost:8088/posttest
POST request (any valid JSON) and the getParsedBody() will return a null every time.

@l0gicgate I think the docs need to be corrected. Not every HTTP request has a body (per the HTTP spec all requests MAY have a body),
For a GET request $parsedBody = $request->getParsedBody() should return a null if no body exists.

https://github.com/slimphp/Slim/issues/2653#issuecomment-490040007
To get parsed, I think the ContentType header in the POST request should contains something like:

application/x-www-form-urlencoded
multipart/form-data

Also see this line https://github.com/slimphp/Slim-Psr7/blob/bd3737bc6fe94d4ba30febe3aa7bc25d3f07f6ca/src/Factory/ServerRequestFactory.php#L105

@RyanNerd I need to update the docs for sure. Slim PSR-7 does not parse the body like Slim 3 used to. All that functionality has been moved over to Slim-Http. However you can write simple middleware to parse the body and append it to the incoming Request object.
In case of application/json content type, it's not valid $_POST data, hence why you can't retrieve it from there.
Note that this is very basic middleware and you could add more content types.
<?php

use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as RequestInterface;
use Psr\Http\Server\RequestHandlerInterface as RequestHandler;

class JsonBodyParserMiddleware implements MiddlewareInterface {
    public function process(Request $request, RequestHandler $handler): Response
    {
        $contentType = $request->getHeaderLine('Content-Type');

        if (strstr($contentType, 'application/json')) {
            $contents = json_decode(file_get_contents('php://input'));
            if (json_last_error() !== JSON_ERROR_NONE) {
                $request = $request->withParsedBody($contents);
            }
        }

        return $handler->handle($request);
    }
}

In any case, I will update the docs to remove the outdated portion of the docs about parsing the body.

Is there a release schedule of Slim's 4.x branch available?
Until when is Slim's 3.x branch planned to be maintained?
I'm about to start a new project and I'm hesitating between which branch to use for it.

@magikstm I don't know the scope of your project but I've started a new project using 4.x alpha and other than one misunderstanding (on my part, and partly because the docs were unclear) I've not had any issues.
One of the big differences between 3 and 4 is the amount of setup of middleware you need to have in place -- even the error handling is middleware (this is a good thing) just something to know going in: There's some configurations you need to set up in 4.x that were already in place with version 3.x.
Slim 4 is in alpha so there's a risk that things could change. I'm aware of this risk and that my project must play along with Slim until it is production ready.
One of the reasons I decided to go this route (no pun intended) was to help test 4.x and post issues here as I came upon them.
Issues have mostly been with the documentation differing with how 3.x did things and not issues with the Slim 4.x app itself.
HTH

Question: Is there a performance or other advantages to have a middleware class implements MiddlewareInterface as opposed to using the __invoke() method?

@magikstm the 4.x branch is pretty stable despite being in alpha. I'd go with Slim 4 if you're starting a new project.

@RyanNerd no significant difference between the two.

I would like to ask Slim 4.x support Doctrine ORM?

@engineer-log you can use Doctrine ORM, Eloquent, or any other persistence library alongside with Slim.

I was thinking what probably most of you are dealing with and I presume that most scenario is building some API, probably REST. Whole back-end based on SlimPHP maybe with Doctrine, maybe with Eloquent. I'm currently working on library for the API part. It's implementation of JSON API ,but annotation based. So if you are using Doctrine, you get my idea rly quick. So if is someone interested, I would appreciate every idea or help. It's my first library, so i don't know how to get feedback.
I don't know if this isn't too unpolite 🤔, advertise my library here. But I'm using combo Slim + Doctrine + API some time, and I think maybe it will help someone. But if this isn't belong here I will delete it and of course I'm sorry.
P.S.: Good work, this is most clean and straightforward framework I ever seen. I was searching for this kind of framework for a years! Thank you, all of you.👍

@bednic that's cool! I went through the README of your repo and I understand what you're doing. I'd like to see an example of a route with Slim 4 😄 you should put a skeleton repository together with Doctrine, Slim and your JSON API library!

Like @bednic I've been working on a framework as well called Willow.
Willow is a marriage between Slim 4 & Eloquent. Documentation is here.
Let me know what you think.

@bednic a bit off-topic (sorry), but did you check these libraries for usage with JSON-API by @kocsismate, very elegant and clean!

@holtkamp

a bit off-topic (sorry), but @bednic: you check these libraries for usage with JSON-API by @kocsismate, very elegant and clean!

That kind of library is the reason why I make my own. Almost in every library it's necessary to create some ResourceObject, then gather all attributes and relationships, pass them to object, or schema and then serialize object to valid JSON. My library map all attributes and relationships by annotations, same as Doctrine. I'm gathering most of needed informations by reflection. If you are writing code standardized like object with private props with getters and setters, then I don't need anything else and just make valid JSON-API document for you from your object(s). It's much less writing.

HomeController:
class HomeController
{
    public function __construct()
    {
        $renderer = new \Slim\Views\PhpRenderer();
        // other codes...
        return $renderer;
    }

    public function index(Request $request, Response $response, $args): Response
    {
        return $this->renderer->render([$response], 'index.phtml');
    }
    // other functions...
}

The [$response] is expected to be $response.

Middleware:
$callableResolver = $app->getCallableResolver();
$responseFactory = $app->getResponseFactory();
$errorMiddleware = new ErrorMiddleware($callableResolver, $responseFactory, false, false, false);
$handler = function ($request, $exception, $displayErrorDetails, $logErrors, $logErrorDetails) {
    $code = $exception->getCode();
    $response = new Slim\Psr7\Response();
    switch ($code) {
        case 404:
            return $response->withHeader('Location', '/404')->withStatus(302);
        case 405:
            return $response->withHeader('Location', '/405')->withStatus(302);
        case 500:
            return $response->withHeader('Location', '/500')->withStatus(302);
    }
};
$errorMiddleware->setDefaultErrorHandler($handler);
$app->add($errorMiddleware);

Route:
$app->get('/', \HomeController::class . ':index');

I expected to get a Slim 500 error with details and trace.
But i actually got...
Fatal error:  Uncaught TypeError: Return value of Slim/Middleware/ErrorMiddleware::handleException() must implement interface Psr/Http/Message/ResponseInterface, null returned in /path/vendor/slim/slim/Slim/Middleware/ErrorMiddleware.php:109
Stack trace:
#0 /path/vendor/slim/slim/Slim/Middleware/ErrorMiddleware.php(91): Slim/Middleware/ErrorMiddleware->handleException(Object(Slim/Psr7/Request), Object(TypeError))
#1 /path/vendor/slim/slim/Slim/MiddlewareDispatcher.php(123): Slim/Middleware/ErrorMiddleware->process(Object(Slim/Psr7/Request), Object(class@anonymous))
#2 /path/vendor/slim/slim/Slim/MiddlewareDispatcher.php(64): class@anonymous->handle(Object(Slim/Psr7/Request))
#3 /path/vendor/slim/slim/Slim/App.php(136): Slim/MiddlewareDispatcher->handle(Object(Slim/Psr7/Request))
#4 /path/vendor/slim/slim/Slim/App.php(120): in /path/vendor/slim/slim/Slim/Middleware/ErrorMiddleware.php on line 109

It might be problem with Eception::getCode(), maybe it's not Slim HttpException and therefore getCode might return 0, in which case return value from handler will be null.

Yeah..You are right...Sorry for my bother.

@SakuraSa233 hence why you should always handle default cases, this is a prime example of it.

Here is another question is that my Slim 3 code always get undefined method Slim\Psr7\Request::getParam() in Slim 4.
public function update($request, $response, $args)
{
    $data = $request->getParam('data');
    // ...
}

I have known that getParam() is in SlimHttp, how can I use it to adapt my project?

@SakuraSa233 do you have Slim-Http decorators enabled?

Closing this. Follow thread in Slim 4 Beta Release Feedback Thread.

There is some mistake. The HTTP 200 status is returned with the middleware of the example and the HTTP 404 return code
`
$app->add(function (Request $request, RequestHandler $handler) {
$response = $handler->handle($request);
$existingContent = (string) $response->getBody();
$response = new Response();
$response->getBody()->write('BEFORE-' . $existingContent);
return $response;

});
$app->add(function (Request $request, RequestHandler $handler) {
$response = $handler->handle($request);
$response->getBody()->write('AFTER ');
return $response;
});
$app->get('/', function (Request $request, Response $response, $args) {
$response->getBody()->write('-Hello World  -');
//throw new Slim\Exception\HttpNotFoundException($request, "Product not found..."); // Does not work returns 200
return $response->withStatus(404); // <<<  Does not work returns 200
//return $response;

});
$app->run();
`

authors: Antnee RyanNerd SakuraSa233 Serdan adriansuter bednic danielspk davidbyoung engineer-log holtkamp http200it l0gicgate magikstm michaelbiberich sbol-coolblue

repo: slimphp/Slim


text:
[feature][byob] Record triggering_actor_id

The SLSA v1.0 RC says that the triggering_actor_id SHOULD be included in the provenance (if different from the actor_id).
I think @MarkLodato generally says fields like this should be left off if they are the same as their "sister" fields (in this case actor_id) but is there a reason why we can't just always include it?
Currently the github context doesn't include the triggering_actor_id, only the triggering_actor which could be reclaimed by another user. I think the only way we can retrieve it is via the Workflow Run API.

is there a reason why we can't just always include it?

No strong reason. Just to save size and make it a little easier to read since most cases you don't actually care about the triggering actor. But no objections to always recording it.

authors: MarkLodato ianlewis

repo: slsa-framework/slsa-github-generator


text:
[bug] Maven / Gradle builders fail to run concurrently

If two jobs within the same workflow run the Maven builder, e.g. on two projects hosted on the same repo, the target folders will have a name collision, due to lack of randomization in https://github.com/slsa-framework/slsa-github-generator/blob/main/internal/builders/gradle/action.yml#L120-L123 and similarly in https://github.com/slsa-framework/slsa-github-generator/blob/main/internal/builders/maven/action.yml#L108-L111
The artifact name (not the name on disk) needs to be randomized, as in
https://github.com/slsa-framework/slsa-github-generator/blob/main/internal/builders/nodejs/action.yml#L84-L94
This requires an update to:

The internal Action. It must add randomization and return a new output
The publish / download Actions. They need an additional input for the randomized name.
e2e tests

NOTE: The nodejs builder has the relevant code as example.

Relevant part of the BYOB docs https://github.com/slsa-framework/slsa-github-generator/blob/main/BYOB.md#update-tca

1 and 2 are fixed here: https://github.com/slsa-framework/slsa-github-generator/pull/2665

authors: AdamKorcz laurentsimon


text:
refactor: move the setup-token to a delegator folder

Signed-off-by: laurentsimon laurentsimon@google.com
This is in anticipation for https://github.com/slsa-framework/slsa-github-generator/issues/1576. We can store other public actions under delegator

Could you please change
https://github.com/slsa-framework/slsa-github-generator/blob/9c2f51074861f726667a943eb2223b90f3e46023/.github/workflows/e2e.verify-token.schedule.yml#L24
too?

Done.


text:
Container: Verify Subject.Name matches image name?

The container provenance generators and builders populate Subject.Name of the provenance statement with the image reference.
Should we verify that the user supplied container image name matches the Subject.Name?
Some problems:

If a user passes the container image pinned by digest rather than tag, then we need to resolve the Subject.Name. In that case, we are verifying Subject.Digest, as we already are.
If the user supplies, say, a local image path of a saved container, then there is no way to reconstruct the expected Subject.Name. This is what happens during testing.
Maybe we should just verify the repository and image name? Still, we have the local image path problems.

@ianlewis, would love feedback
See this thread for context:
do we want to verify the subject? Our builder uses image:tag as subject, so this should be safe?
/cc @ianlewis
Originally posted by @laurentsimon in https://github.com/slsa-framework/slsa-verifier/pull/147#discussion_r942438879

local image path

Does the local path problem happen with our GH builders?
Could we have the verification be optional?

Does the local path problem happen with our GH builders?

It does for testing, since I save the image locally from the GH builders, and commit that to testdata -- which means we've lost the path. In the non-test path of the open PR for the implementation, user's can't supply local paths, so I guess that's not a problem. We are always expected images on a registry.
No need to optimize for cases where someone wants to save first and verify (e.g. auth problems or something) until someone asks for it.

Could we have the verification be optional?

Yeah, I'm thinking we can just print to Stderr in case the matching digest has a mismatched subject name, and see how that fares in e2e tests

A quick update: I inspected some provenance generated by the generator, and it does NOT include the tag... so it may look like:
"ghcr.io/slsa-framework/example-package.e2e.container.workflow_dispatch.main.default.slsa3
so I think that resolves the concern around tags being included, because they're not.
We won't get local image validation for tests, but that's OK. Happy to do this in another PR

is it an arbitrary decision that the tag is not included? Or we have good reasons not to :-)?

I would have assumed that slsa-verifier would be retrieving the image itself so in that case the name would have to be correct. Maybe I'm missing something.
As for the tag, I suppose we could do the kind of semver check we do for the git repo tags, but I'm not sure the image tag is really meaningful for us. It can be changed and isn't really useful from a verification perspective. I also kind of expect that folks would use the sha to reference the image when retrieving it.

It can be changed and isn't really useful from a verification perspective. I also kind of expect that folks would use the sha to reference the image when retrieving it.

Yeah, exaclty -- tag is mutable. And the Subject.Digest verification already provides us with the assurance that the provenance matches

I would have assumed that slsa-verifier would be retrieving the image itself so in that case the name would have to be correct ( or at least instructing docker to do so?)

It does! But the provenance is stored in a file discoverable by a known tag name alongside the artifact -- so the check here would be a failsafe: make sure the attached provenance actually corresponds to the artifact.

I would have assumed that slsa-verifier would be retrieving the image itself so in that case the name would have to be correct ( or at least instructing docker to do so?)

It does! But the provenance is stored in a file discoverable by a known tag name alongside the artifact -- so the check here would be a failsafe: make sure the attached provenance actually corresponds to the artifact.

hmm. I wonder what cosign verify-attestation <image>@<sha> does since the tag name isn't given in that case. I assumed we would want to do the same thing. I would think for our purposes the tag doesn't really matter. Just image name and digest.

I assumed we would want to do the same thing. I would think for our purposes the tag doesn't really matter. Just image name and digest.

Yeah, cosign won't do any Name validation. I'm actually not sure it does Digest verification. D:
Agree that image name and digest can be verified. I can add the name validation!

Do we want to do this by default or via an option -subject-name? I'm asking to keep consistency across builders, which may help users in the long-run if they use several builders. Wdut?

authors: asraa ianlewis laurentsimon

repo: slsa-framework/slsa-verifier


text:
use mongosh connection to ocrd-database for job infos

first attempt (still using bash for everything, so DB access only via mongosh)
It looks like when you restart a job for the same workspace, the new active job is not shown because internally it gets confused with the previous job for that workspace – so we probably need to redefine the index.

039567a adds a simple web server (via socat and sampo).
There are 3 endpoints:
Usage is simple: just convert any of the command-line args to CGI query options, e.g.
curl "http://localhost:4004/for_presentation/testdata-presentation/mets.xml?url-prefix=https://digital.slub-dresden.de/data/kitodo&workflow=/workflows/ocr-workflow-default.sh"

this will automatically translate to
for_presentation.sh --workflow /workflows/ocr-workflow-default.sh --url-prefix https://digital.slub-dresden.de/data/kitodo testdata-presentation/mets.xml

We now should document this, add some more logging, and start with a call-back interface (see #64).

@bertsky I tried out this feature and encountered the problem that constructing the JSON for Mongo fails as there seems to be linebreaks in the JSON. Maybe i introduced some problems while a was copying the logic, so that some unwanted line breaks got injected?
https://github.com/slub/ocrd_manager/blob/52587e9e2c3e669bf832da3d4839a7254d1327fe/ocrd_lib.sh#L71

terminating with error $?=1 from HOME=/tmp mongosh --quiet --norc --eval "use ocrd" --eval "db.OcrdJob.insertOne( {#012           pid: $PID,#012           time_created: ISODate(\"$(date --rfc-3339=seconds)\"),#012           process_id: \"$PROCESS_ID\",#012           task_id: \"$TASK_ID\",#012           process_dir: \"$PROCESS_DIR\",#012           workdir: \"$WORKDIR\",#012           remotedir: \"$REMOTEDIR\",#012           workflow_file: \"$WORKFLOW\",#012           controller_address: \"$CONTROLLER\"#012      } )" $DB_CONNECTION on line 83 /usr/bin/ocrd_lib.sh

For the moment i formatted it in a way to have everything in one line.

authors: BartChris bertsky


text:
NumbaDeprecationWarning with latest dependencies, as "nopython" argument is not supplied to numba.jit

When SHAP is imported with the latest version of numba, shap raises many NumbaDeprecationWarnings:

Python 3.11
Numba 0.57.0
SHAP 0.41.0

The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.

/shap/utils/_clustering.py:34: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @jit
/shap/utils/_clustering.py:53: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @jit
/shap/utils/_clustering.py:62: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @jit
/shap/utils/_clustering.py:68: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @jit
/shap/utils/_clustering.py:76: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @jit
/shap/links.py:4: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @numba.jit
/shap/links.py:9: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @numba.jit
/shap/links.py:14: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @numba.jit
/shap/links.py:19: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @numba.jit
/shap/utils/_masked_model.py:362: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @jit # we can't use this when using a custom link function...
/shap/utils/_masked_model.py:384: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @jit
/shap/utils/_masked_model.py:427: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @jit
/shap/utils/_masked_model.py:438: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @jit
/shap/maskers/_tabular.py:185: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @jit
/shap/maskers/_tabular.py:196: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @jit
/shap/maskers/_image.py:174: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @jit
/shap/explainers/_partition.py:675: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.

I have the same error, couldn't find a solution

It seems the root cause of this issue lies in some changes in the way Numba’s JIT compiler is going to work:
https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit

I have exactly the same warning...

@slundberg

I am also seeing this. Any way to at least silence the warnings in the meantime?

One option for now is to set something like
import warnings
warnings.filterwarnings("ignore", message=".*The 'nopython' keyword.*")

before importing the shap package.

This issue was fixed on #2943. We've made a new release 0.42.0 today, so if you encounter NumbaDeprecationWarnings please try updating to the latest version.

Hi, I have umap 0.5.3 but I'm still getting this error:
  @numba.jit()
/Users/kwaneu/sw/miniconda/miniconda3/envs/python/lib/python3.11/site-packages/umap/umap_.py:660: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.

I'm also seeing umap complain it only supports up to numpy 1.24.0.

@ekwan  That issue is not related to shap, it's related to the umap library. Feel free to raise an issue on the Umap issue tracker instead.

authors: Elshan777 connortann cristianmtr ekwan he7d3r mrlinuxguy zhimin-z

repo: slundberg/shap


text:
🛑 Status is down

In 7fdc1a3, Status ($STATUS_SECRET) was down:

HTTP code: 502
Response time: 943 ms

Resolved: Status is back up in 50a052d after 1 hour, 7 minutes.

repo: slurdge/upptime


text:
Uploading images?

I apologize, but how should I go about uploading an image that will be associated with lets say a Sermon?
$rec[] = ['TableName' => 'Pocket_Platform_Sermons', 'RecordId' => (int)$sermon_id];
I really dont even know where to start.

Hey Mark,
The current API only supports the Tables and Procedures end points.  It
does not support file uploads as I haven't had a need for it.
But, if you give me a week or two, I'll see if I can get the Files piece
working to support the basic features.

Scott Madeira
On Fri, May 1, 2020 at 11:41 PM Mark Chaney notifications@github.com
wrote:

I apologize, but how should I go about uploading an image that will be
associated with lets say a Sermon?
$rec[] = ['TableName' => 'Pocket_Platform_Sermons', 'RecordId' =>
(int)$sermon_id];
I really dont even know where to start.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/smadeira/ministry-platform-api/issues/8, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABE4U3EBS6B2MQBSLP7PF6LRPOI65ANCNFSM4MXQKNQA
.

Well I extended the library to be able to do it but its a bit dirty (works though). The problem I am finding is that for the extra parameter options:
[
  {
    "FileId": 0,
    "FileName": "string",
    "Description": "string",
    "FileSize": 0,
    "ImageHeight": 0,
    "ImageWidth": 0,
    "IsDefaultImage": true,
    "TableName": "string",
    "RecordId": 0,
    "UniqueFileId": "string",
    "LastUpdated": "2020-05-05T18:12:24.339Z"
  }
]

They have to be passed as form_params with guzzle and when using multipart for the image data, you cant use anything other than multipart for that call.
http://docs.guzzlephp.org/en/stable/request-options.html#multipart

multipart cannot be used with the form_params option. You will need to use one or the other. Use form_params for application/x-www-form-urlencoded requests, and multipart for multipart/form-data requests.
This option cannot be used with body, form_params, or json

Now I really only need IsDefaultImage and that can be passed in the url as '?%24default=true' (not sure why they change the variable name). Id like to know what the UniquFileID is. Wondering if I can set that to something unique and new files will overwrite that file record without having to actually know the file record. Right now if I do multiple test uploads to a a sermon, it creates multiple files all with them saying they are the default image.
I had quite a few issues with the headers and the additional curl parameters, so had to remove them and reformat. Here is what I have so far that does at least successfully upload and attach  a sermon. Obviously not that flexible and as mentioned, a bit crude.
// Attempt to authenticate to the MP API
$mp = new FILES();
$mp->authenticate();

$response = $mp->table('Pocket_Platform_Sermons')
            ->record($record_id)
            ->file($filePath)
            ->upload();

var_dump($response[0]);

<?php namespace MinistryPlatformAPI;

class MinistryPlatformFilesAPI extends MinistryPlatformBaseAPI
{

    /**
     *  parameters
     *
     */
    protected $tableName = null;
    protected $recordID = null;
    protected $filePath = null;

    /**
     * Set the table for the GET request
     *
     * @param $tableName
     *
     * @return $this
     */
    public function table($tableName)
    {
        $this->tableName = $tableName;

        return $this;
    }

    /**
     * Set the recordID for
     *
     * @param $recordID
     *
     * @return $this
     */
    public function record($recordID)
    {
        $this->recordID = $recordID;

        return $this;
    }

    /**
     * Set the filePath for
     *
     * @param $filePath
     *
     * @return $this
     */
    public function file($filePath)
    {
        $this->filePath = $filePath;

        return $this;
    }

    /**
     * upload the file
     *
     * @return mixed
     */
    public function upload()
    {
        // Set the header
        $this->buildHttpHeader();

        $parameters = [
            'multipart' => [
              [
                'name' => 'image',
                'contents' => fopen($this->filePath, 'r'),
              ]
            ],
            'headers' => $this->headers,
        ];

        return  $this->sendData('POST', $parameters);
    }

    /**
     * Construct the API Endpoint for the request
     *
     * @return string
     */
    protected function buildEndpoint()
    {
        return $this->authorization->apiEndpoint . '/files/' . $this->tableName . '/' . $this->recordID.'?%24default=true';
    }

    protected function buildHttpHeader()
    {
        // Set the header
        $this->headers = [
            'Accept' => 'application/json',
            'Authorization' => $this->authorization->credentials->getAccessToken()
          ];

        return $this->headers;
    }

    /**
     * Return a Guzzle error message
     */
    public function errorMessage()
    {
        return $this->errorMessage;
    }
}

API wrapper now supports Files endpoint.

authors: MACscr smadeira

repo: smadeira/ministry-platform-api


text:
Run demo.py ERROR

(tf-gpu27) pk@pk-X550JK:~/faster-rcnn-tf$ python ./tools//demo.py --model /home/pk/faster-rcnn-tf/model/VGGnet_fast_rcnn_iter_70000.ckpt
2018-11-25 11:58:21.340381: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2018-11-25 11:58:21.585623: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:964] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2018-11-25 11:58:21.586014: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1411] Found device 0 with properties:
name: GeForce GTX 850M major: 5 minor: 0 memoryClockRate(GHz): 0.9015
pciBusID: 0000:01:00.0
totalMemory: 1.96GiB freeMemory: 1.92GiB
2018-11-25 11:58:21.586041: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1490] Adding visible gpu devices: 0
2018-11-25 11:58:22.153770: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-11-25 11:58:22.153818: I tensorflow/core/common_runtime/gpu/gpu_device.cc:977]      0
2018-11-25 11:58:22.153825: I tensorflow/core/common_runtime/gpu/gpu_device.cc:990] 0:   N
2018-11-25 11:58:22.153979: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1103] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 1679 MB memory) -> physical GPU (device: 0, name: GeForce GTX 850M, pci bus id: 0000:01:00.0, compute capability: 5.0)
Tensor("Placeholder:0", shape=(?, ?, ?, 3), dtype=float32)
Tensor("conv5_3/conv5_3:0", shape=(?, ?, ?, 512), dtype=float32)
Tensor("rpn_conv/3x3/rpn_conv/3x3:0", shape=(?, ?, ?, 512), dtype=float32)
Tensor("rpn_cls_score/rpn_cls_score:0", shape=(?, ?, ?, 18), dtype=float32)
Tensor("rpn_cls_prob:0", shape=(?, ?, ?, ?), dtype=float32)
Tensor("rpn_cls_prob_reshape:0", shape=(?, ?, ?, 18), dtype=float32)
Tensor("rpn_bbox_pred/rpn_bbox_pred:0", shape=(?, ?, ?, 36), dtype=float32)
Tensor("Placeholder_1:0", shape=(?, 3), dtype=float32)
Tensor("conv5_3/conv5_3:0", shape=(?, ?, ?, 512), dtype=float32)
Tensor("rois:0", shape=(?, 5), dtype=float32)
[<tf.Tensor 'conv5_3/conv5_3:0' shape=(?, ?, ?, 512) dtype=float32>, <tf.Tensor 'rois:0' shape=(?, 5) dtype=float32>]
Traceback (most recent call last):
File "./tools//demo.py", line 114, in
net = get_network(args.demo_net)
File "/home/pk/faster-rcnn-tf/tools/../lib/networks/factory.py", line 28, in get_network
return networks.VGGnet_test()
File "/home/pk/faster-rcnn-tf/tools/../lib/networks/VGGnet_test.py", line 16, in init
self.setup()
File "/home/pk/faster-rcnn-tf/tools/../lib/networks/VGGnet_test.py", line 57, in setup
.fc(4096, name='fc6')
File "/home/pk/faster-rcnn-tf/tools/../lib/networks/network.py", line 25, in layer_decorated
layer_output = op(self, layer_input, *args, **kwargs)
File "/home/pk/faster-rcnn-tf/tools/../lib/networks/network.py", line 246, in fc
feed_in, dim = (input, int(input_shape[-1]))
TypeError: int returned non-int (type NoneType)
GPU:GTX850M 2G
How to sovle this problem?Thanks !!!!

I don't know why but when I solve it by using tensorflow 1.10, tensoeflow-gpu 1.4 and rerunning Make .


text:
🛑 Portainer Portal Website (tunnel) is down

In d9c2d04, Portainer Portal Website (tunnel) (https://docker.sman3palu.sch.id) was down:

HTTP code: 530
Response time: 81 ms

Resolved: Portainer Portal Website (tunnel) is back up in ccc0076 after 6 minutes.

repo: smantriplw/uptime-services


text:
wrong spacing in pubspec.yaml for assets.

Please assign me this issue, I have already fixed it.

Fixed by merging recently.


text:
🛑 Dashboard is down

In 4eeb895, Dashboard (https://app.smart-moov.io) was down:

HTTP code: 502
Response time: 1054 ms

Resolved: Dashboard is back up in 2e2854c.

repo: smart-moov/upptime


text:
solox会对WebDriverAgent工程关闭，报错Lost connection to DTServiceHub

appium自动化工程，同时运行solox和WebDriverAgent，运行大概10到30分钟后，xcode的WebDriverAgent工程会报错Lost connection to DTServiceHub

我不太了解appium，这个没法处理

repo: smart-test-ti/SoloX


text:
Remove Siphon Server

Fixes #57, this removes the siphon server and all associated APIs. See #85 for more information.

Before we can remove Siphon we have to have an equivalent coded.
Without we would be debugging iOS apps blindly.

I understand that, but I was under the impression that SmartDeviceLink apps cannot be debugged through the Siphon Server as it exists, and that this is a Ford only feature.
I'm in total agreement that getting a replacement out there is a top priority, but since this is a major version change, I would say it is better to remove it while we have other major changes batched here, and push for the new system (a minor version change) as soon as possible, whether it be before 4.0 is out or shortly after.
Am I off base here?

It is a Ford feature used to debug partner apps.
When a partner has issues we use this tool to determine if it is app logic or module behavior causing the issue.  Removing this would cripple this support .
From: Joel Fischer [mailto:notifications@github.com]
Sent: Monday, February 23, 2015 9:29 PM
To: smartdevicelink/SmartDeviceLink-iOS
Cc: Williams, Heath (H.A.)
Subject: Re: [SmartDeviceLink-iOS] Remove Siphon Server (#87)
I understand that, but I was under the impression that SmartDeviceLink apps cannot be debugged through the Siphon Server as it exists, and that this is a Ford only feature.
I'm in total agreement that getting a replacement out there is a top priority, but since this is a major version change, I would say it is better to remove it while we have other major changes batched here, and push for the new system (a minor version change) as soon as possible, whether it be before 4.0 is out or shortly after.
Am I off base here?
—
Reply to this email directly or view it on GitHubhttps://github.com/smartdevicelink/SmartDeviceLink-iOS/pull/87#issuecomment-75687320.

Pardon my ignorance on the iOS libs, but I believe (in the Android code, at least) if the SiphonServer isn't connected, the logs will just be displayed via LogCat or whatever native log mechanism exists.
From SdlTrace.java:
// Attempt to write formatted message to the Siphon
if (false == writeMessageToSiphonServer(msg)) {
	// If writing to the Siphon fails, write to the native log
	NativeLogTool.logInfo(SdlTrace.SYSTEM_LOG_TAG, msg);
}

Is there nothing like this set up in iOS yet, or is this not sufficient for our debugging purposes?

Correct; it is not sufficient.
On Android you can plug into the debugger and get live logging.  This is not possible with iOS plugged into a module.
With iOS you have to do “cable swap” to get logs (module to Mac) and there is always a chance that you will miss the entries.  Painful and not robust enough.
What we need is a way to debug with the cable plugged in the module.   Live code debugging, (Bluetooth, Wi-Fi, magic, anything) with breakpoints, would be awesome.  Right now, we believe, iOS makes this impossible.

Ohhhhh ok, I see.  So, the real cause of the problem is that iOS devices can only connect to SDL via USB and it can't write logs to USB at the same time.  I would agree, then, that this can't be removed until we have an alternative implemented.

I'm working on a replacement right now, this won't be merged in until that's done. It should be ready for 4.0.

authors: Heath-FoMoCo joeljfischer mikeburke106

repo: smartdevicelink/SmartDeviceLink-iOS


text:
使用mysql不自动创建表

在版本1.3.2和版本1.4.6上测试都不行

知道问题原因了

请问下是怎么原因？

@Rianico  mysql 版本问题

感谢，请问下那边是使用什么版本的？是需要较新版本的muysql吗？

authors: Rianico lhzsdnu

repo: smartloli/kafka-eagle


text:
Remove CI templates

The templating was a custom solution for sharing workflows between repositories. Nowadays GitHub actions have a standard solution for it, freeing us of the maintenance cost.

maybe also upgrade to node 20

will open another pr to do so

repo: smartlyio/kubernetes-auth-action


text:
make traffic generation optional

having make traffic or adding a specific job in ArgoCD that can kick off traffic would keep a deployment from getting oversaturated without need and generally keep the deployment more "stock" unless otherwise desired.

ack, will be done
On Wed, Jul 27, 2022 at 10:49 AM Boris Kurktchiev @.***>
wrote:

having make traffic or adding a specific job in ArgoCD that can kick off
traffic would keep a deployment from getting oversaturated without need and
generally keep the deployment more "stock" unless otherwise desired.
—
Reply to this email directly, view it on GitHub
https://github.com/smarunich/tetrate-service-bridge-sandbox/issues/64,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUVBJDQ3Z3UVLWJ4DJHNETVWFD5ZANCNFSM54Z4XE7A
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

authors: kurktchiev smarunich


text:
Bomb timer counting down quickly to zero

I have a slightly modified build (completely different aimbot) and the bomb timer counts down to zero so how do I fix this?

Paste from ours. Bomb timer is done weirdly in Indigo. But won't be fixed

Aight my code is exactly the same hmmmmm

authors: Enclusion smefcc

repo: smefcc/smefs-Indigo-Remastered