Catching Java Exceptions inside of Eta

Currently, there is no general-purpose mechanism for catching Java exceptions in Eta. This means that if one of the packages you depend on uses Java FFI to call a method and doesn't bother catching exceptions for it in Java-land, it'll crash the JVM with the exception and you have no way of catching it in your Eta code to handle it in other ways.
I propose a new RTS primop called catchJava# which will catch all exceptions via catch (Exception e).
data {-# CLASS "java.lang.Exception" #-} JException = JException (Object# JException)

-- RTS primop
catchJava# :: IO a -> (b -> IO c) -> IO a

-- User-facing API
catchJava :: IO a -> (JException -> Just (IO a)) -> IO a

This is identical to the existing catch# primitive, with the difference being that b will be instantiated to a Eta wrapper type of some subclass of JException.  The handler should inspect the class (relevant primitives for this will be added as well) and return Just action if they want to handle the exception or a Nothing if they want to propagate the Java exception upwards (if it's a catastrophic one you can't really recover from).
To support this, a new stack frame called CatchJavaFrame should be introduced which will catch the Java exception and run the handler upon catching it.

The updated implementation for this will not require a new primop. Instead, CatchFrame will have an exception handler that'll wrap up Java exceptions in JException and pass it into the handler.

Scala has a set of exceptions that should never be caught. We might want to have something similar:
https://github.com/scala/scala/blob/v2.12.2/src/library/scala/util/control/NonFatal.scala#L37

Implemented in the going-stackless branch. Import the exception as a JWT and derive Typeable and Show on it. To use the Exception typeclass instance, import Java.Exception.
@puffnfresh Currently, we only catch exception types that are subclasses of Exception. Is there any case you would want to catch subclasses of Throwable that are not a subclass of Exception inside of Eta?
Leaving this open until we resolve the issue @puffnfresh brought up.

https://www.reddit.com/r/scala/comments/24txt5/scala_is_a_subtle_beast_or_why_you_should_never/
^ After reading this I'm not sure it's a good idea to change the default of catching Exception. If you really want to catch some set of exceptions that are not subclasses of Exception, you always have the option of doing foreign import primop and defining your own catch primop that catches the exceptions needed for your application.

Collecting some of @raulraja's comments on Gitter:

I see the point in the PR and the reddit comments but I think it's truly a source of bugs in the JVM when you let people just catch Exception generically. It'd be easier for people integrating with java libs to have a combinator or function that allows them to only catch non fatal exceptions by default. Just my opinion, but you may have valid reasons not to

For what is worth in libs like cats ApplicativeError#catchNonFatal, Either#cathNonFatal are popular in Scala
https://github.com/typelevel/cats/blob/5f1981436fe4cdf3c57be6f87958791d19c5db4d/core/src/main/scala/cats/ApplicativeError.scala#L118

There's a valid reason to handle the NonFatal case - safe resource handling.


Sampling from a NAF gives inf

Description
Thank you for the package, which is useful for my current internship with @plcodrigues. I however encounter an issue, I would like to know if I am using your package correctly.
I am trying to reproduce the code from D. Ward et al., "Robust Neural Posterior Estimation and Statistical Model Criticism" and at one point I need to train an unconditional NAF on a two-dimensional training set. But once trained, sampling from the trained flow often produces 'inf'.
Reproduce
I found out this code reproduces the issue:
import torch
import zuko

train_set = torch.distributions.Normal(0,25).sample((10_000,2))
train_set = (train_set - train_set.mean(0))/train_set.std(0)
train_loader = torch.utils.data.DataLoader(train_set, batch_size=256, shuffle=True)
flow = zuko.flows.NAF(features=2,context=0) #Unconditional flow
optimizer = torch.optim.AdamW(flow.parameters(), lr=1e-3)

for x in train_loader :
    loss = -flow().log_prob(x)
    loss = loss.mean()

    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

print(flow().sample((10_000,)).isinf().any())

Environment

Zuko version: [e.g. 0.2.0]
PyTorch version: [e.g. 2.0.0+cu117]
Python version: [e.g. 3.8.16]
OS: [e.g. Windows 10]

Thank you very much for the bug report! I'll take a look into it. At first sight, this is likely due to the inversions of the neural transformations, which are not always be well behaved.

So, what happens is that neural transformations (NeuralAutoregressiveTransform) expect inputs to be within $[-5, 5]$, which are then mapped to $[a, b]$ (learnable) by the transformation. To stack several NeuralAutoregressiveTransform, it is therefore necessary to add clipping transformations (SoftclipTransform) in between.
In the forward pass (log_prob) this is never an issue. However, at sampling, if intermediate values get outside of the range $[a, b]$, then they are not mapped to $[-5, 5]$, or rather they are clipped to either $-5$ or $5$. Then, when passed to the inverse of SoftclipTransform, the values are mapped to $\pm\infty$. In summary, the issue arises when $[a, b]$ does not support the output domain. This could be the case if a transformation is not well trained (which is the case in your example) or overfits the training data.
I don't think it is possible to fix the core of the issue ($[a, b]$ not supporting the output domain): it is a drawback of the method itself. However, it is possible to handle the issue differently and prevent $\infty$ values. I'll submit a PR to fix this soon.

Thank you very much for your (quick!) answer.

This should be fixed in the latest version.
pip install git+https://github.com/francois-rozet/zuko


Astro integration

Hello. Are you planning on making it?

I don't think that would be needed. Tailwind CSS has an integration for Astro so all you need to do would be installing daisyUI npm i daisyui and add it to the config.


README.md has broken badge "Dependencies status"

[![Dependencies Status](http://jarkeeper.com/TheClimateCorporation/claypoole/status.svg)](http://jarkeeper.com/TheClimateCorporation/claypoole)

http://jarkeeper.com no longer seem to point to anything

This seems to have been fixed.
It is pointing to the (old) clojars repo.
We will migrate to a new group-id, as part of clj-commons move: org.clj-commons/claypool .
Please reopen if you think this is not done.


sfcli apex test run command is throwing an error "Error (10): Cannot read properties of undefined (reading 'Status')"

Summary
sfcli apex test run command is throwing an error "

sf apex run test -o  -l RunLocalTests -d {dir} -w 240 -r human -c
Error (10): Cannot read properties of undefined (reading 'Status')"

Steps To Reproduce

IMPORTANT
First authenticate the user using salesforce cli. Use the authenticator token to run the following command

sf apex run test -o  -l RunLocalTests -d {dir} -w 240 -r human -c
Expected result
This should give the test result report along with the coverage for each class
Actual result
It is throwing an error
"Error (10): Cannot read properties of undefined (reading 'Status')""
System Information
Jenkins linux agent
Salesforce cli version:

sf --version
@salesforce/cli/2.26.10 linux-x64 node-v18.17.1

That's coming from the Apex library.  I'm going to transfer the issue to them.  Thanks for reporting.


[App]: Overlapping Sweep Name Column and Status Column on Sweep List Page

Current Behavior
When I visualize the list of the sweeps in a project, the names of the different sweeps usually overlap with the State of the sweep.
This happens when I zoom too much or when the sweep's name is too long.
Expected Behavior
I'd expect to be able to resize the column width. The alternative could be to cut the sweep's name and hide it behind the state.
Steps To Reproduce

Go inside a project with sweeps
Go to the sweeps page
Zoom
The name of the sweeps should overlap with the State of the sweeps. If this does not happen, change the name of a sweep and add more characters.

Screenshots

Environment
OS: macOS Sonoma 14.2.1
Browsers: Firefox
Version: Firefox 126.0
Additional Context
No response

Thank you for submitting the bug report. We will go ahead and send it directly to our eng team. I am seeing the same behavior on my side.


File upload exception

Hi, @downdawn
Can you provide pseudo-code? How to trigger this error
Known UploadFile type error, fixed in #145

This is the pseudo code of the official fastapi documentation, which can be used for form testing
@router.post('/files/', summary='文件上传')
async def create_file(
        file: bytes = File(), fileb: UploadFile | None = File(default=None)
):
    return {
        'file_size': len(file),
        'fileb_content_type': fileb.content_type,
    }

Since the project does not use the Form() entry, More pseudocode may be needed

I get a magic 400 Bad Request print and swagger output { "detail": "There was an error parsing the body" }, but I did not meet your mistake.

@router.post('/upload', summary='上传文件')
async def upload_file(file: UploadFile = File(...)):
    # TODO 上传文件
    print(file.filename)
    return await response_base.success()

I get a magic 400 Bad Request print and swagger output { "detail": "There was an error parsing the body" }, but I did not meet your mistake.

Yes, same error.
The console output is abnormal:
sqlalchemy.exc.StatementError: (builtins.TypeError) Object of type UploadFile is not JSON serializable

This bug will be fixed in the PR above, I haven't merged it yet

I seem to have found the cause of the anomaly:
https://github.com/tiangolo/fastapi/blob/49bc3e0873c8e89edbffdd3a41b1c2c56f15c823/fastapi/routing.py#L198-L202
After tracing, it will come to AbstractAsyncContextManager, probably because the stream is not closed

This PR does not solve this problem

Yes, it only solves the other problems found, request.form() is not handled

Yes, it only solves the other problems found, request.form() hasn't been processed yet

Any ideas?
I traced to wrapped_rcv_gen, can't get into

Not yet, I'm updating on the time module
This involves ASGI principles and internal design of the framework, not very good solution, should look for the answer in Starlette, the main problem should be: in pure ASGI middleware happend exception when using form() + body() + json()
But a reminder is that when using File() to transfer data, json() method may fail

Tracked to fastapi/routing exception

Executing request.form() throws an exception
AttributeError: 'AwaitableOrContextManagerWrapper' object has no attribute 'entered'

Upload requests are temporarily added to OPERA_LOG_EXCLUDE

Hi, @wu-clan
I get exception when i use StreamingResponse
return StreamingResponse(generate(), media_type="text/event-stream")

  File "/backend/app/middleware/opera_log_middleware.py", line 108, in wrapped_rcv_gen
    async for message in request.receive:  # type: ignore
TypeError: 'async for' requires an object with __aiter__ method, got method

"OperaLogMiddleware" seems to have an unavoidable issue. Could it be elevated to a P0 priority? Prioritize resolving it.

generate() is it an iterator function?

Due to Starlette's design, it may never be possible to use request.form() in middleware.
A major update took place in Starlette>=0.28.0, but fastapi has never upgraded it, so I haven't tried to update it again.
I will take a look at it again and try to avoid other problems.

generate() is it an iterator function?

yes

Observe changes: https://github.com/tiangolo/fastapi/pull/9636

After a long time, I picked this up again.
There seems to be a comprehensive solution:
https://github.com/tiangolo/fastapi/discussions/8187

But I'm not sure if these work properly when FastAPI upgrade Starlette > 0.28.0, so I choose to wait and see.

https://github.com/tiangolo/fastapi/discussions/8187#discussioncomment-5148057
The solution is from 2021; maybe we can consider it after upgrading to p-v2.

I'm sorry I deleted a lot of outdated conversations, but I still have a lot of confusion about this question.
request.form() is the source of disaster.
Https://github.com/encode/starlette/discussions/1933

It is worth noting that errors still occur when the file upload parameter is optional, which may be a problem in FastAPI.
PR did not test other response modes (StreamingResponse...).
Wait and see: https://github.com/tiangolo/fastapi/issues/10857


Make the VolumeNameGenerator take the resource type into account

Today we generate random volume names when they are unspecified. We try to make them as unique as possible to avoid conflicts (since these are allocated globally in docker). Today the algorithm is here we should add the resource name to this to avoid conflicts where we change the resource type but keep the same volume name, e.g:
var db = dbType switch {
 "Sql" => builder.AddSqlServer("dbs").WithDataVolume().AddDatabase("db"),
 "Pg" => builder.AddPostgres("dbs").WithDataVolume().AddDatabase("db"),
 ...
}

The above should have a unique volume name for sql server and postgres.

Closing as dupe of #5413


[Grid] Remove unnecessary type exports

Breaking changes

[Grid] Removed the export of the types GridDirection, GridSpacing, GridWrap and GridSize. Use GridProps to replace them:
-import { GridDirection, GridSpacing, GridWrap, GridSize } from '@material-ui/core/Grid';
+import { GridProps } from '@material-ui/core/Grid';

interface Props {
- direction: GridDirection;
- spacing: GridSpacing;
- wrap: GridWrap;
- size: GridSize;
+ direction: GridProps['direction'];
+ spacing: GridProps['spacing'];
+ wrap: GridProps['wrap'];
+ size: Exclude<GridProps['xs'], boolean>;
}

[x] I have followed (at least) the PR section of the contributing guide.

Part of #20012

It seems to be a low-cost but only low-win breaking change.

These are all just unfounded. Like, what are we gaining here? Please keep this a constructive discussion and don't just make things up again in hindsight.
It is a breaking change. Period. What the cost is, is not for you to declare.
What the win is? Was not answered in the PR. We're just getting into a mood where we make breaking changes for their own sake.

what are we gaining here?

I think that it would solve #19572. In this case, the user was extending the Grid, he had imported individual types to do so. Then, he needed to extend the Typography, but couldn't do it the same way he had extended the Grid because we don't export individual types. By removing the types in the Grid, we force him to find a scalable solution, from the beginning, avoiding the frustration to figure one solution out until to realize after that he has to drop it because it allows works in a niche case. It seems to be a low-win, avoiding a small foot-gun.

It is a breaking change. Period

Some breaking changes impact 100% of the users (e.g. drop JSS), others 2% (e.g. remove RTL support). Here, it seems a low-cost change. "low-cost" as impacting a low % of the user-base (<1% ?). It's a guess, we don't have a perfect level of information.
cc @mui-org/core for others' perspectives, on what we should do with this public API.
Maybe we can run a vote 🚀 for moving forward and 👀 for giving up on the BC on the PR's description?

Why is this being voted on? Why are you desperately trying to force overruling me?

I think that it would solve #19572.

It's a closed issue we already solved. Am I being kept out of critical communication or what is going on right now?

cc @mui-org/core for others' perspectives, on what we should do with this public API.

I don't see anyone ever reported something related to these typings. I think we can skip this BC, I don't see value in it, to be honest.

Ok, so it seems that we should close, we have one voice really against (Sebastian), one leaning against (Marija), one leaning in favor (Olivier). @m4theushw thanks for looking into it!

Closing this as it brings low value to users.


fix(texlab): use new exec_cmd method

Problem: see #3426, #3427 and #3428

... please do it more carefully in one Pr instead..

This is the last part, I am sorry if I messed up the history, is there a way to fix it?

please check https://github.com/neovim/nvim-lspconfig/pull/3430


Component state resets when doing router replace or router push

Version
@nuxtjs: 2.15.8
node: 14.16.1
Reproduction link
https://codesandbox.io/s/wispy-platform-6f0t7?file=/pages/test/_id.vue
Steps to reproduce
Go to the page https://6f0t7.sse.codesandbox.io/test/2 and click the button. In console, you will see the watcher, which worked then the data property was updated.
Note, that I use route.name as a key, so that changing route params doesn't re-render the component.
What is Expected?
The component's data doesn't change.
What is actually happening?
The component's data resets to the default (init) state.

Hi after some research I figured out that this behavior is related to asyncData and / or fetch. I assume that they are the ones who reset the data value, since by disabling the options:
features: {
           asyncData: false,
           sampling: false,
},

Achieve the desired behavior.

@trilogo-lordee thanks, it helped but didn't solve the problem. Actually, I need those features for SSR

@radonichn Good evening. To disable this behavior at the component level, you can use the options object in the component and pass asyncData: false there. Like this
    options: {
        asyncData: false,
    },

@trilogo-lordee but I need asyncData in that component, that re-renders after router.push

@radonichn Хорошо, я углубился в логику обновления данных и нашел возможную причину такого поведения. В проверке обновления компонентов есть свойство _dataRefresh и одна из логических проверок, она вызывает ее постоянно, это watchQuery! == false. Хотя в компонентах без этого параметра он находится в undefined состоянии.
Вы можете умешленно использовать watchQuery = false.
// Refresh component (call asyncData & fetch) when:
// Route path changed part includes current component
// Or route param changed part includes current component and watchParam is not `false`
// Or route query is changed and watchQuery returns `true`
if (this._routeChanged && childPathChanged) {
  Component._dataRefresh = true
} else if (this._paramChanged && childPathChanged) {
  const watchParam = Component.options.watchParam
  console.log(watchParam)
  Component._dataRefresh = watchParam !== false
} else if (this._queryChanged) {
  const watchQuery = Component.options.watchQuery
  if (watchQuery === true) {
    Component._dataRefresh = true
  } else if (Array.isArray(watchQuery)) {
    Component._dataRefresh = watchQuery.some(key => this._diffQuery[key])
  } else if (typeof watchQuery === 'function') {
    if (!instances) {
      instances = getMatchedComponentsInstances(to)
    }
    Component._dataRefresh = watchQuery.apply(instances[i], [to.query, from.query])
  }
}
if (!this._hadError && this._isMounted && !Component._dataRefresh) {
  return
}

@trilogo-lordee спасибо, эта штука помогла, но вопрос к разработчикам - какого фига? ни слова в документации, ни слова на stackoverflow...
En: that thing helped, but why the hell somebody should explore source files to make a conclusion, that somewhere there's a property watchParam, so you can turn it off and everything will work fine

I also had this issue recently.
This behaviour is unexpected, calling data() twice for the same component instance is something that vue never do. Combined with the fact that this behaviour (and watchParam) is completely undocumented, it leads to really bad developer experience.
I doubt that watchParam: true is a good default. Besides this introducing unexpected behaviour, it also can make component state inconsistent, especially if there are async operations in progress.
Also I don't see why watchParam and watchQuery have different defaults while query and path params may be used interchangeably


win/doc: document idd driver, idd setup tool and enum-adapters

Updated with addressing comments after offline review.


Theme change scheduled to wrong day.

I have two entries in circadian themes:
(setq circadian-themes '(("09:00" . 'theme-one) ("18:00". 'theme-two)))

When I launched my Emacs in 08:30, theme-two was applied, but switch to theme-one was planned on 09:00 of the next day.
Just in case I'll put here workaround (until proper bugfix) - just add entry ("00:01" . 'theme-two) to circadian themes.

Alright, took me some time to reproduce that issue. I'm using circadian solely with :sunrise and :sunset settings, which is the reason I didn't experience that behaviour.
However your PR seems to have fixed the issue 👏🏽 thanks for putting it up. I'm about to release a new version today or the other day, after I finally got some time to setup github actions, too as well as improved the test suite a bit.


How to create VLANs from within a loop?

Can I get some guidance on how I can utilize the cisco.intersight.intersight_rest_api module to create my list of VLANs from an Ansible loop?
I'm trying to apply something like the following, but something appears to be converting the vlanid from an integer to a string, and the Intersight API cannot handle a string being passed to it.
...
  vars:
    vlans:
      - vlan_id: 11
        vlan_name: VLAN0011-Description
      - vlan_id: 12
        vlan_name: VLAN0012-Description
...

    - name: Create all known VLANs
      cisco.intersight.intersight_rest_api:
        api_private_key: "{{ api_private_key }}"
        api_key_id: "{{ api_key_id }}"
        resource_path: /fabric/Vlans
        api_body:
          AutoAllowOnUplinks: true
          EthNetworkPolicy:
            ObjectType: fabric.EthNetworkPolicy
            Moid: "{{ eth_network_policy_moid }}"
          IsNative: false
          MulticastPolicy:
            ObjectType: fabric.MulticastPolicy
            Moid: "{{ multicast_policy_moid }}"
          Name: "{{ item.vlan_name }}"
          PrimaryVlanId: 0
          SharingType: None
          VlanId: "{{ item.vlan_id | int }}"
        query_params:
          $filter: VlanId eq '{{ item.vlan_id | int }}'
      loop: "{{ vlans }}"`

Here's noting from the module invocation that vlan_id 12, although is originally declared as an integer, when passed to the VlanId parameter within the api_body variable...something such as Jinja is converting this to a string.
failed: [localhost] (item={'vlan_id': 12, 'vlan_name': 'VLAN0012-Description'}) => {
    "ansible_loop_var": "item",
    "changed": false,
    "invocation": {
        "module_args": {
            "api_body": {
                "AutoAllowOnUplinks": true,
                "EthNetworkPolicy": {
                    "Moid": "658d4ceb6f62693101dd676b",
                    "ObjectType": "fabric.EthNetworkPolicy"
                },
                "IsNative": false,
                "MulticastPolicy": {
                    "Moid": "659dc8366f626931012ad79c",
                    "ObjectType": "fabric.MulticastPolicy"
                },
                "Name": "VLAN0012-Description",
                "PrimaryVlanId": 0,
                "SharingType": "None",
                **"VlanId": "12"**
            },
            "api_key_id": "638a10b07564612d33073d4a/638a10b07564612d33073d4f/63c188597564612d31e2b069",
            "api_private_key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
            "api_uri": "https://intersight.com/api/v1",
            "list_body": null,
            "query_params": {
                "$filter": "VlanId eq '12'"
            },
            "resource_path": "/fabric/Vlans",
            "return_list": false,
            "state": "present",
            "update_method": "patch",
            "use_proxy": true,
            "validate_certs": true
        }
    },
    "item": {
        "vlan_id": 12,
        "vlan_name": "VLAN0012-Description"
    },
    "msg": "API error: (400, 'HTTP Error 400: Bad Request', b'{\"code\":\"InvalidRequest\",\"message\":\"Cannot execute the request. The JSON document is malformed.\",\"messageId\":\"barcelona_request_malformed_json\",\"traceId\":\"O2femsmjMDC3-xxxxxxx-xxxxx==\",\"cause\":{\"code\":\"InternalServerError\",\"message\":\"Cannot execute the request due to an error. Retry later.\",\"messageId\":\"barcelona_request_internal_error\",\"traceId\":\"O2femsmjMDC3-xxxxxx-xxxx==\"}}') "
}

You can set jinja2_native=True in the [defaults] section of your ansible.cfg or set the environment variable ANSIBLE_JINJA2_NATIVE=True so that jinja preserves types during templating.  More details are at https://docs.ansible.com/ansible/latest/reference_appendices/config.html

I can get this to work by setting in an ansible.cfg file in the project root.
$ cat ansible.cfg
[defaults]
jinja2_native = true

I can get this to work by setting an ANSIBLE_JINJA2_NATIVE environment variable when running the playbook.
$ ANSIBLE_JINJA2_NATIVE=true ansible-playbook vlan_test_2.yml
As I'll eventually be running this from Ansible Automation Platform/Ansible Tower...I'd like to avoid complexity about working with overriding ansible.cfg and/or environment variables from the container/execution environment.
Per the Ansible docs, I believe I should be able to leverage the environment keyword at the play, block, or task (preferred) level?
Any usage of ANSIBLE_JINJA_NATIVE environment keywords at the playbook or task level don't seem to be working for me.  Am I doing something wrong?

Here's a link on passing environment variables with Tower: https://access.redhat.com/solutions/3065001.  In case that link isn't accessible, here's the resolution text:
The setting can be found under "Configure Tower >Jobs [tab]" under "Extra Environment Variables". The field expects JSON input and does not require a restart of services to apply
Here's an example:
{
"VARIABLE_NAME_TO_EXPORT": "value to export",
"ANSIBLE_DEBUG": "1"
}

Thanks for the follow-up.
Can close the issue.  Proceeding with a custom ansible.cfg file in the template/project root directory.


Broken link

Day 1, step 4 (React) links to
https://microsoft.github.io/frontend-bootcamp/step1-04/demo/, but it's 404.

Good catch, thanks! It's fixed now.


Update assignment_00_LastnameFirstname.R

I only used the variables name to print their value

Arash Mahmoudian
I only used the variables name to print their value


scan_module(): ValueError: bad marshal data (unknown type code)

This happens with CPython from git master (e768c86ef442ef89004089a8a34ce5909ffb90f2):
Traceback (most recent call last):
  File "setup.py", line 16, in <module>
    install_requires=["appdirs"],
  File ".../python3.7/distutils/core.py", line 148, in setup
    dist.run_commands()
  File ".../python3.7/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File ".../python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File ".../python3.7/site-packages/setuptools/command/install.py", line 67, in run
    self.do_egg_install()
  File ".../python3.7/site-packages/setuptools/command/install.py", line 109, in do_egg_install
    self.run_command('bdist_egg')
  File ".../python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File ".../python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File ".../python3.7/site-packages/setuptools/command/bdist_egg.py", line 209, in run
    os.path.join(archive_root, 'EGG-INFO'), self.zip_safe()
  File ".../python3.7/site-packages/setuptools/command/bdist_egg.py", line 245, in zip_safe
    return analyze_egg(self.bdist_dir, self.stubs)
  File ".../python3.7/site-packages/setuptools/command/bdist_egg.py", line 355, in analyze_egg
    safe = scan_module(egg_dir, base, name, stubs) and safe
  File ".../python3.7/site-packages/setuptools/command/bdist_egg.py", line 392, in scan_module
    code = marshal.load(f)
ValueError: bad marshal data (unknown type code)

I believe this is because PEP 552 has been implemented, which adds extra 4 bytes to the .pyc header; but setuptools is not aware of that yet.

Release on v38.4.1 pending...

Same problem occurred w/ Python 3.7.0a4+ on Travis CI (reported as: travis-ci/travis-ci#9181), probably w/o the fix.

@jaraco Same problem
https://travis-ci.org/aio-libs/aiopg/jobs/341326946

@smagafurov : did you update setuptools?

setuptools (38.5.1)

@smagafurov: I'm sorry but I don't see the setuptools' update in your Travis log and the traceback line numbers don't match 38.5.1. Can you add a call to pip freeze --all before to make sure the right version is used? Just to be clear, you're not relying on setup_requires to update setuptools, right?

@benoit-pierre: I repeat this problem locally
$ python setup.py install
running install
running bdist_egg
running egg_info
writing aiopg.egg-info/PKG-INFO
writing dependency_links to aiopg.egg-info/dependency_links.txt
writing requirements to aiopg.egg-info/requires.txt
writing top-level names to aiopg.egg-info/top_level.txt
reading manifest file 'aiopg.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files found matching 'tests/**'
writing manifest file 'aiopg.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-10.13-x86_64/egg
running install_lib
running build_py
copying aiopg.egg-info/PKG-INFO -> build/bdist.macosx-10.13-x86_64/egg/EGG-INFO
copying aiopg.egg-info/SOURCES.txt -> build/bdist.macosx-10.13-x86_64/egg/EGG-INFO
copying aiopg.egg-info/dependency_links.txt -> build/bdist.macosx-10.13-x86_64/egg/EGG-INFO
copying aiopg.egg-info/requires.txt -> build/bdist.macosx-10.13-x86_64/egg/EGG-INFO
copying aiopg.egg-info/top_level.txt -> build/bdist.macosx-10.13-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
Traceback (most recent call last):
  File "setup.py", line 63, in <module>
    include_package_data=True)
  File "/Users/sergey/projects/aiopg/venv/lib/python3.7/site-packages/setuptools/__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
  File "/Users/sergey/.pyenv/versions/3.7.0a3/lib/python3.7/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/Users/sergey/.pyenv/versions/3.7.0a3/lib/python3.7/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/Users/sergey/.pyenv/versions/3.7.0a3/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/Users/sergey/projects/aiopg/venv/lib/python3.7/site-packages/setuptools/command/install.py", line 67, in run
    self.do_egg_install()
  File "/Users/sergey/projects/aiopg/venv/lib/python3.7/site-packages/setuptools/command/install.py", line 109, in do_egg_install
    self.run_command('bdist_egg')
  File "/Users/sergey/.pyenv/versions/3.7.0a3/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/Users/sergey/.pyenv/versions/3.7.0a3/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/Users/sergey/projects/aiopg/venv/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 220, in run
    os.path.join(archive_root, 'EGG-INFO'), self.zip_safe()
  File "/Users/sergey/projects/aiopg/venv/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 273, in zip_safe
    return analyze_egg(self.bdist_dir, self.stubs)
  File "/Users/sergey/projects/aiopg/venv/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 383, in analyze_egg
    safe = scan_module(egg_dir, base, name, stubs) and safe
  File "/Users/sergey/projects/aiopg/venv/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 422, in scan_module
    code = marshal.load(f)
ValueError: bad marshal data (unknown type code)
(venv) sergey@magafurov:~/projects/aiopg [master]
$ pip list | grep tool
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
prompt-toolkit (1.0.15)
setuptools (38.5.1)

@benoit-pierre: How to repeat:
git clone git@github.com:aio-libs/aiopg.git
cd aiopg
python3.7 -m venv ./venv
source ./venv/bin/activate
sudo apt-get install libpq-dev
python setup.py install

I can't reproduce the issue:
> git clone https://github.com/aio-libs/aiopg.git
Cloning into 'aiopg'...
remote: Counting objects: 3267, done.
remote: Total 3267 (delta 0), reused 0 (delta 0), pack-reused 3267
Receiving objects: 100% (3267/3267), 666.68 KiB | 2.22 MiB/s, done.
Resolving deltas: 100% (2151/2151), done.
> cd aiopg
> python3.7 -m venv venv
> ./venv/bin/python --version
Python 3.7.0a4
> ./venv/bin/pip install -U pip wheel setuptools
Requirement already up-to-date: pip in ./venv/lib/python3.7/site-packages
Collecting wheel
  Using cached wheel-0.30.0-py2.py3-none-any.whl
Collecting setuptools
  Using cached setuptools-38.5.1-py2.py3-none-any.whl
Installing collected packages: wheel, setuptools
  Found existing installation: setuptools 28.8.0
    Uninstalling setuptools-28.8.0:
      Successfully uninstalled setuptools-28.8.0
Successfully installed setuptools-38.5.1 wheel-0.30.0
> ./venv/bin/python setup.py -q bdist_egg
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no previously-included files found matching 'tests/**'
  File "build/bdist.linux-x86_64/egg/aiopg/utils.py", line 18
    ensure_future = asyncio.async
                                ^
SyntaxError: invalid syntax

  File "build/bdist.linux-x86_64/egg/aiopg/connection.py", line 109
    self._conn = psycopg2.connect(dsn, async=True, **kwargs)
                                           ^
SyntaxError: invalid syntax

zip_safe flag not set; analyzing archive contents...

And setuptools' master is still ok on Travis with nightly.

@benoit-pierre: |'m sorry. Please clone this instead:
git clone git@github.com:smagafurov/aiopg.git

I am trying to add python3.7 support to 'aio-libs/aiopg.git'

I don't think the clone URL matters (works fine with either one). Can you patch setuptools.commands.bdist_egg to show what's being used?
 setuptools/command/bdist_egg.py | 1 +
 1 file changed, 1 insertion(+)

diff --git i/setuptools/command/bdist_egg.py w/setuptools/command/bdist_egg.py
index 423b8187..a66b03c7 100644
--- i/setuptools/command/bdist_egg.py
+++ w/setuptools/command/bdist_egg.py
@@ -417,6 +417,7 @@ def scan_module(egg_dir, base, name, stubs):
         skip = 12  # skip magic & date & file size
     else:
         skip = 16  # skip magic & reserved? & date & file size
+    print(sys.version_info, skip)
     f = open(filename, 'rb')
     f.read(skip)
     code = marshal.load(f)

sys.version_info(major=3, minor=7, micro=0, releaselevel='alpha', serial=3) 16

$ python setup.py install
running install
running bdist_egg
running egg_info
writing aiopg.egg-info/PKG-INFO
writing dependency_links to aiopg.egg-info/dependency_links.txt
writing requirements to aiopg.egg-info/requires.txt
writing top-level names to aiopg.egg-info/top_level.txt
reading manifest file 'aiopg.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files found matching 'tests/**'
writing manifest file 'aiopg.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-10.13-x86_64/egg
running install_lib
running build_py
copying aiopg.egg-info/PKG-INFO -> build/bdist.macosx-10.13-x86_64/egg/EGG-INFO
copying aiopg.egg-info/SOURCES.txt -> build/bdist.macosx-10.13-x86_64/egg/EGG-INFO
copying aiopg.egg-info/dependency_links.txt -> build/bdist.macosx-10.13-x86_64/egg/EGG-INFO
copying aiopg.egg-info/requires.txt -> build/bdist.macosx-10.13-x86_64/egg/EGG-INFO
copying aiopg.egg-info/top_level.txt -> build/bdist.macosx-10.13-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
sys.version_info(major=3, minor=7, micro=0, releaselevel='alpha', serial=3) 16
Traceback (most recent call last):
  File "setup.py", line 63, in <module>
    include_package_data=True)
  File "/Users/sergey/projects/aiopg/venv/lib/python3.7/site-packages/setuptools/__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
  File "/Users/sergey/.pyenv/versions/3.7.0a3/lib/python3.7/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/Users/sergey/.pyenv/versions/3.7.0a3/lib/python3.7/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/Users/sergey/.pyenv/versions/3.7.0a3/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/Users/sergey/projects/aiopg/venv/lib/python3.7/site-packages/setuptools/command/install.py", line 67, in run
    self.do_egg_install()
  File "/Users/sergey/projects/aiopg/venv/lib/python3.7/site-packages/setuptools/command/install.py", line 109, in do_egg_install
    self.run_command('bdist_egg')
  File "/Users/sergey/.pyenv/versions/3.7.0a3/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/Users/sergey/.pyenv/versions/3.7.0a3/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/Users/sergey/projects/aiopg/venv/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 220, in run
    os.path.join(archive_root, 'EGG-INFO'), self.zip_safe()
  File "/Users/sergey/projects/aiopg/venv/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 273, in zip_safe
    return analyze_egg(self.bdist_dir, self.stubs)
  File "/Users/sergey/projects/aiopg/venv/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 383, in analyze_egg
    safe = scan_module(egg_dir, base, name, stubs) and safe
  File "/Users/sergey/projects/aiopg/venv/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 423, in scan_module
    code = marshal.load(f)
ValueError: bad marshal data (unknown type code)

clone URL matters because I fix pythin3.7 syntax error here 'smagafurov/aiopg.git'

That's another issue, irelevant to the setuptools issue.

sys.version_info(major=3, minor=7, micro=0, releaselevel='alpha', serial=3) 16

The first version that implemented PEP 552 was v3.7.0a4.
But setuptools currently does:
elif sys.version_info < (3, 7):

That's what I was thinking, thanks for confirming.

this works for me
elif sys.version_info < (3, 7, 0, 'alpha', 4):

I'm not sure it make sense to explicitely test for 3.7.0a4: if you're running with nightly, then problems are to be expected, and you're also expected to keep current, no?
What I don't understand is why it fails on Travis, or is it another hole in our testsuite?

@smagafurov: just to be clear, to fix your issues you should:

locally: update Python to >=3.7.0a4
Travis CI: update setuptools first before installing other requirements (IMHO adding back nightly testing is a good idea)

@smagafurov: https://travis-ci.org/benoit-pierre/aiopg/jobs/341442846
I'm also confused by the fact that python setup.py install is called before pip install -Ur requirements.txt.

@benoit-pierre: Thank! Updating setuptools in Travis fixes the problem.

Having exact same issue.
Python: 3.7.6
Setuptools: 45.2.0 (just tried to update, no luck)

2021-12-28 12:47:12.020620: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found
2021-12-28 12:47:12.034213: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
[facer] : ----------------------------------------------------------------
[facer] : fd = HOG, fr = FaceNet, sc = CosSim(uninorm=1), th = 0.45
[facer] : loading face recognition model FaceNet...
Traceback (most recent call last):
File "main.py", line 46, in
F.loadModel()
File "D:\Project\facer-classroom-master\utils.py", line 81, in loadModel
self.fr_model = load_model(model_path)
File "C:\Users\Rushi\AppData\Roaming\Python\Python38\site-packages\keras\utils\traceback_utils.py", line 67, in error_handler
raise e.with_traceback(filtered_tb) from None
File "C:\Users\Rushi\AppData\Roaming\Python\Python38\site-packages\keras\utils\generic_utils.py", line 792, in func_load
code = marshal.loads(raw_code)
ValueError: bad marshal data (unknown type code)


[minecraft-server] server.properties gets overwritten with subsequent 'docker start's

Included in build

Included in build


x/vuln: govulncheck output should be newline delimited json

Proposal
The govulncheck tool currently outputs JSON in a multi-line, prettified format. This makes parsing the output unnecessarily difficult, especially since the -format json flag is intended for machine consumption, and machines do not care about pretty output.
To improve usability and align with standard practices, the govulncheck tool should output newline-delimited JSON (NDJSON) when the -format json flag is specified. This format ensures that each top-level JSON object is written as a single line, simplifying parsing and making it compatible with tools that process NDJSON. This is usually the preferred way of handling JSON streams.
Using NDJSON is not a breaking change, as the JSON structure will remain the same, just outputted in a single line without indentation.
Benefits

Ease of Parsing: NDJSON is widely supported by existing tools and libraries, making integration seamless.
Improved Performance: Single-line JSON objects reduce overhead in parsing by eliminating the need to handle multi-line structures.
Outputting NDJSON is simpler, as the JSON does not need to be prettified beforehand.

Alternatives
As an alternative, a -format ndjson flag could be introduced. While this would ensure that -format json isn't touched, it would output the exact same structures.
Side note
NDJSON is not an alternative to JSON. It's bascially "one JSON object per line".
Reference: https://github.com/ndjson/ndjson-spec

Related Issues

x/vuln: feature request: govulncheck needs a (-f json) format option to output valid JSON for CI/CD tools to make decisions on the fly #60207 (closed)
x/vuln: add support for transforming JSON to text  #59552 (closed)
x/vuln: make progress-like output opt-in for -json flag #60497 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

see #60207 any json parsing tool should already be able to handle arbitrary whitespace between json elements.

@seankhliao this is not related to #60207.
#60207 was about a user that wanted compliant JSON output (one top level element) to create a valid JSON file.

any json parsing tool should already be able to handle arbitrary whitespace between json elements

nushell, a popular shell for data analysis, doesn't support this, but supports NDJSON.
I suspect that there are many other tools that don't support this, as it is not compliant to any popular specification.
Could you elaborate on why the decision was made to prettify a format that is made for machines? If users want pretty output, they should not use a format that is made for machines.

Doing something with JSON streams usually looks something like this:
(pseudocode)
govulncheck -format json ./... | for each line {send JSON object to tool}

It is hard to find the beginning / end of a JSON object via scripts, if it is prettified.

Also, the current behavior is not consistent with some other JSON outputs in the go ecosystem like go test ./... -json, which outputs NDJSON (not prettified).
In #60207, you compared this to go list -json which is prettified indeed, but as with my points stated above, I think this is a design mistake.
When users really want prettified JSON objects, they could stream the newline delimited JSON to something like jq.


LUT-26244

https://dev.lutece.paris.fr/bugtracker/issues/26244
Update pom with non Snapshot version
Rebuild dump.sql with runing the ant script
update in comment the docker compose so you can rebuild the site and db image

I didn't see adkownlegde that you updated the pom

pom and dump updated to match to 18/09 update

Needs more corrections related to city theme. Working on it

Dump updated, deleting data from city theme causing issues for connexion and appointment data

This wasn't the best way


Rendering of cookies for frames in Cookies Table is being delayed

Describe the bug
When using the Privacy Sandbox Analysis Tool Extension (PSAT) on Chrome, the Privacy Sandbox panel correctly displays information about the cookies on the cookies landing page. However, when clicking on any of the frames, the tables are empty, and the cookie details do not appear for an extended and random period. The delay varies greatly, sometimes being as short as 5-10 seconds and other times taking minutes.
To Reproduce

Open Chrome and navigate to a site with the Privacy Sandbox Analysis Tool Extension (PSAT) enabled.
Click on the Privacy Sandbox panel to view the cookies landing page.
Observe the blocking information displayed in the Cookies Landing page
Click on the top frame and observe table populated with cookies for that frame
Click on any of the frames, and notice the empty tables and the delayed display of cookie information.
Wait for some period of time, and see the cookie information being displayed

Expected behavior
When clicking on any of the frames within the Privacy Sandbox panel, the cookie details should load promptly and display the relevant information without significant or random delays.
Tasks

[x] https://github.com/GoogleChromeLabs/ps-analysis-tool/issues/403
[x] https://github.com/GoogleChromeLabs/ps-analysis-tool/issues/404
[x] https://github.com/GoogleChromeLabs/ps-analysis-tool/issues/405

Addressed and released as a part of v0.5


chore: Add tca_example to CI tests

Fixes issue #643
Other changes:

Updates the tca_example so that it builds and tests.
I removed the case studies example, it's pretty large and when I tried updating it to the latest example there were a few errors. In the long term it might become tough to maintain that many example files, and so I added a simplified App which includes TCA in both sources and tests.

The example is based off their README

Weird tests are failing CI with:
2023-10-30 22:04:47,509 Running test-without-building with device D1410AAB-B94A-4BBE-BD3D-6B1691694C1D
2023-10-30 22:07:20,223 The xcodebuild command got stuck and has not started test in 150. Will kill the command directly.
2023-10-30 22:07:29,576 xcodebuild command can not launch test on device/simulator in 150s.

These pass locally though... looking to see why

It was due to a timeout with setting the app host, thats not important for what were testing so i removed that and the tests now pass quickly.


Whitetie

Current coverage is 47.95%

Merging #168 into master will not affect coverage as of 5322c38

@@            master    #168   diff @@
======================================
  Files           19      19
  Stmts          294     294
  Branches         0       0
  Methods          0       0
======================================
  Hit            141     141
  Partial          0       0
  Missed         153     153

Review entire Coverage Diff as of 5322c38

Powered by Codecov. Updated on successful CI builds.


Fix code coverage and newly failing test

Fix failing tet due to change in v2.2.0 (2024-05-28) of dj-database-url which added an extra param DISABLE_SERVER_SIDE_CURSORS
Fix the codecoverage action

@pauloxnet  - please can you create a codecov.io token for django-co0nfigurations and add as a secret to this repo please?
Current failure is:
Error: Codecov token not found. Please provide Codecov token with -t flag.
Error: Codecov: Failed to properly create commit: The process '/home/runner/work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 1

I believe adding that will get us moving forward again so we can merge a bunch of pending PR's

@pauloxnet - please can you create a codecov.io token for django-co0nfigurations and add as a secret to this repo please?

Can you provide some simple instructions to do that?
I want to fix the repo, but I don't have right now the time to do researches on how to do what you suggested.

This is where you get the token:
https://app.codecov.io/github/jazzband/django-configurations/config/general
... and these are the steps to add it to the repo:
https://docs.codecov.com/docs/adding-the-codecov-token

@pauloxnet This is where you get the token: https://app.codecov.io/github/jazzband/django-configurations/config/general
... and these are the steps to add it to the repo: https://docs.codecov.com/docs/adding-the-codecov-token

@uhurusurfa thanks a lot, that helped, but following the steps I just realized that I don't have the permission to see or modify the settings of the project here in GitHub.
Maybe @jezdez or @blueyed can give me this permission, or they can do update the settings to add the Codecov token.

@jezdez Any possibility you might assign a 2nd person as maintainer to django-configurations to spread the load ... perhaps @pauloxnet ?

@matthiask @com4 @JimDabell @jayvdb @brylie @benspaulding @shanx @mbaechtold
Does anyone have permissions to add the codecov.io key to this repo please?
I have tried @jezdev via another route but unable to get any response and this project.is stalled without someone who can do the changes for us.

Maybe we can start thinking to move the project to django

That would be a good option. Generally the Jazzband projects seem to be under supported with very few people having the required permissions to do key changes that are often needed.

That would be a good option. Generally the Jazzband projects seem to be under supported with very few people having the required permissions to do key changes that are often needed.

That's exactly why django-commons has been created.

@pauloxnet I feel that jazzband was created with the same intention as django-commons so before putting in the effort to migrate things I'll try to see if @jezdez would maybe be willing to give org rights to some more people.

I know that, I'm part of JazzBand because of its goal, but as Tim stayed in his article there was difficulties that convinced him to start Django Commons.
I invite you to read the article, there's also a link to Jannis's post
https://www.better-simple.com/django/2024/05/22/looking-for-help-django-commons/

Thanks for pointing this out. I've not been following these conversations :)

I am wondering what went wromg with Jazzband... their statement on the Jazzband Github home page is:
It gives maintainers and contributors the ability to “play in the same band” instead of being forced into “artist” and “audience” roles.

I'm not following all issues of all repos closely, please open tickets in jazzband/help next time so I can respond quicker.

there is a token set for this repo, not sure why it's failing now, I've regenerated it and updated it in the repo
@pauloxnet you should have had maintainer permissions, somehow this didn't happen when you were made project lead, might have been an GitHub API failure, this is now fixed and should give you permissions to edit some settings
@uhurusurfa I'm not sure where you reached out, but I haven't seen a message from you personally, I can't say if this was a long time or last week when you opened this ticket. Remember this isn't my job etc pp

hey @uhurusurfa unfortunately while I do have the right to merge stuff in this repo, I also can't change the settings.
@pauloxnet I feel that jazzband was created with the same intention as django-commons so before putting in the effort to migrate things I'll try to see if @jezdez would maybe be willing to give org rights to some more people.

Thanks @shanx  - as far as I can work out looking at teams in Jazzband, Jez is the only maintainer in Jazzband which seems like a serious single point of failure and needs addressing. The current setup does not make for feeling like anyone is "playing in the same band" and many people lose interest if everything takes forever to happen when a core settings nneds changing or someone with appropriate permissions needs to takee action but they are almost impossible to get hold of.

@uhurusurfa thanks for fixings


Binderhub is not installing dependencies in Pipfile

Hi,
I'm having ModuleNotFoundError errors in my notebooks for dependencies that are specified in Pipfile and Pipfile.lock, in my own binderhub server. I've done the setup using the last available version: 0.2.0-fbbc302. The same repository is being built OK if I use mybinder.org instead of my own server.
I tried also with a simple example, https://github.com/binder-examples/pipfile, and also fails with ModuleNotFoundError in my own server.
The build logs shows that repo2docker is using PythonBuildPack instead of expected PipfileBuildPack:
In my binderhub server (failing build, using PythonBuildPack):
Waiting for build to start...
Picked Git content provider.
Cloning into '/tmp/repo2dockerscfh47y2'...
HEAD is now at 4005a76 Initial commit
Building conda environment for python=3.7Using PythonBuildPack builder
Building conda environment for python=3.7Building conda environment for python=3.7Step 1/42 : FROM buildpack-deps:bionic
...

In mybinder.org server (successful build, using PipfileBuildPack):
Waiting for build to start...
Picked Git content provider.
Cloning into '/tmp/repo2dockers48643rz'...
HEAD is now at 4005a76 Initial commit
Building conda environment for python=3.7Using PipfileBuildPack builder
Building conda environment for python=3.7Building conda environment for python=3.7Step 1/54 : FROM buildpack-deps:bionic
...

Running last version of repo2docker locally (also successful build, using PipfileBuildPack):
Picked Git content provider.
Cloning into '/var/folders/1j/q3gk1w3j4l7_64pf1k8gf9wr0000gn/T/repo2dockeralsz1d_c'...
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 8 (delta 0), reused 5 (delta 0), pack-reused 0
Unpacking objects: 100% (8/8), done.
Using PipfileBuildPack builder
Step 1/54 : FROM buildpack-deps:bionic

Any idea why my own binderhub server is not using the Pipfile in the project?

Hmmmm... Perhaps there is a difference in the repo2docker version used? What decides this version? Is it based on what is installed within a binderhub image? Do you have a custom binderhub image / or an omd one explicitly specified one in your binderhub config.yaml for your binderhub deployment?

Could you visit https://yourbinderhub.com/versions and post the output here? It should look something like https://mybinder.org/versions

Thanks for your quick response!
I did some research about that. It looks like you can override the repo2docker image in the config.yaml of binderhub.
In my previous config.yaml, I didn't try to set any specific version of repo2docker (I followed the tutorial Zero to BinderHub using Google Cloud and Google Container Registry). It was:
config:
  BinderHub:
    use_registry: true
    image_prefix: gcr.io/<my-gcp-project>/binder-dev-
    hub_url: http://<my-ip>

In my new config.yaml, I specified the last version of repo2docker by doing:
config:
  BinderHub:
    use_registry: true
    image_prefix: gcr.io/<my-gcp-project>/binder-dev-
    hub_url: http://<my-ip>
    build_image: jupyter/repo2docker:0.10.0-59.g649a2c6

And now it's building successfully (reading the Pipfile) my repos. Build logs now show Using PipfileBuildPack builder and there's no more ModuleNotFoundError errors.
I don't know why the last available version of binderhub installs, it seems, an old repo2docker dependency, but at least there's a way to override it.
Thanks

The default version that BinderHub uses by default is defined here. It is now two releases behind. A PR to update it to 0.10.0 would be great.
Maybe even a section in the guide telling people where to change it and that mybinder.org usually runs "the very very latest commit on master so you can too".

@betatim my versions before specifying build_image:
{"builder": "jupyter/repo2docker:0.8.0", "binderhub": "0.1.0+380.g3fe8143.dirty"}

And after that:
{"builder": "jupyter/repo2docker:0.10.0-59.g649a2c6", "binderhub": "0.1.0+380.g3fe8143.dirty"}

Do you want me to help by doing the suggested PR?

Do you want me to help by doing the suggested PR?

That would be great!


dbt_utils dependency conflict with fivetran/dbt_fivetran_log

When attempting to build both the dbt_linkedin and dbt_fivetran_log packages in the same project, a dependency error arises on the dbt_utils package. dbt_linkedin references dbt_utils 0.5.0, whereas dbt_fivetran_log references 0.5.1.
It's worth noting that these packages build successfully independent of each other.
One workaround is to fork the dbt_linkedin project, update dbt_utils to 0.5.1 and reference the forked git repo in your packages.yml file. @DylanBaker mentioned the possibility of being less strict on package versions, though this requires testing.

Same issue here, the Fivetran packages are quite useful, would be great if they can live in the same local project.

hey there -- thanks for surfacing this, and sorry for the wait! we've recently updated all of our packages to require the same dbt_utils version ([>=0.6.0, <0.7.0])
re-installing the packages should eradicate any conflicts, though FYI these new releases do require >= dbt 0.18.0!

fivetran_log
linkedin


New Release with Updated Media

Is it possible to publish a new release to the PowerShell Gallery so we can have the updated media.json file? The published version uses Windows 10 1909 and the file in the repo has 20H1. I'd rather not try to update the file separately.

Hi Jeff, the new 0.20.0 release should be in the PSGallery with both 20H1 and 20H2 media! Thanks, Iain


[Feature] Run scrcpy through a button

Hello,
Thanks for this great plugin, it also includes scrcpy support; but, it is not intuitive to user it with this plugin, i really couldn't find the way to run scrcpy but just with the bash command; hence, i don't understand what this feature does do.
Could you add some documentation about it? or, could you add a button/command to launch scrcpy from the tool?
Thanks!

Hello!
There is a small Share screen with 'scrcpy' button at the bottom-right corner of the device list item.
Clicking on it should open scrcpy window.

Hello!
There is a small Share screen with 'scrcpy' button at the bottom-right corner of the device list item.
Clicking on it should open scrcpy window.

I think i'm dumb because i didn't understand it as scrcpy, maybe the icon is not so intuitive, what's about a device icon?

@SalahAdDin Yeah, the icon is far from perfect. Phone screen icon should be more intuitive.

I changed the icon to a monitor icon.
I chose a monitor instead of a phone icon because a phone icon of such a small size doesn't look good.
And monitor icon resembles scrcpy official icon.


indentation fails for type arguments (<>) in some cases

Sometimes I find that indenting in a type argument list works, but often it does not. Here is a small example where it does not:
type SourceHashMap = FnvHashMap<InternedString, FnvHashSet<(Span, DepNode)>>;
type TargetHashMap = FnvHashMap<InternedString,
FnvHashSet<(Span, InternedString, ast::NodeId, DepNode)>>;

I would hope to see the following after indenting:
type SourceHashMap = FnvHashMap<InternedString, FnvHashSet<(Span, DepNode)>>;
type TargetHashMap = FnvHashMap<InternedString,
                                FnvHashSet<(Span, InternedString, ast::NodeId, DepNode)>>;

cc @MicahChalmer

When I try indenting your small example I get exactly what you were expecting to see.  Did you have angle bracket matching turned off?  Was it in the middle of a larger file, possibly another case of #104?

@MicahChalmer it was, though the behavior persisted even when I moved it to a smaller file -- but maybe I've configured angle bracket matching off, I sort of remember doing that (temporarily, I thought) in response to #104 at some point.

Given that I don't have anything reproducible just now, I'll close this, though I still observe this from time to time.


Modify popover function for showing "Test Log"

Add function to disable hide at "click event" of popover
Apply scroll-y in popover

If the user clicked at the step 1-1, and then click another ball element of test, does it hide the previous popup dialog?

Yes, if the user clicks on the other ball, hide in less than one second.


npm warning: gulp-util is deprecated

When I run npm install, I get the following warning:
npm WARN deprecated<EMAIL_ADDRESS>gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5

fixed with #16


Building the project fails

I tried building the project but it fails with these errors:

iCepa-master/iOS/ViewController.swift:21:9: Type 'NETunnelProviderManager' has no member 'loadOrCreateDefaultWithCompletionHandler'

could not find Cargo.toml in iCepa-master/Extension/tun2tor or any parent directory
fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: can't open input file: target/x86_64-apple-ios/debug/libtun2tor.a (No such file or directory)

I have followed the exact steps mentioned in README.

I forgot to push a file – check now and see if the ViewController builds
Can you post the full build log of tun2tor-iOS?

Also, Rust is now at version 1.8, so you might want to follow the updated README instructions.
Also, of note: you will not be able to use iCepa at all unless you have those entitlements from Apple.

ViewController builds now. I have followed the updated README but the error is there.
Here is the full build log of tun2tor-iOS
https://gist.github.com/ali-ht10/32b8c46c24004895c3971e3d4fc17ac7

Make sure that your submodules are initialized:
git submodule update --init --recursive

Submodules not being initialized is causing the tun2tor-iOS issue?

That's the only reason I can think of that Cargo.toml would not be in Extension/tun2tor. Is the file there?

Nop

But I don't think the second error, Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: can't open input file: target/x86_64-apple-ios/debug/libtun2tor.a ,
is related to Cargo.toml. Maybe its not building the tun2tor.sh file.

Well I initialized the submodules and Cargo.toml was there after the initialization. Missing Cargo.toml error is fixed. On building the project, I get this:
Updating registry https://github.com/rust-lang/crates.io-index
Compiling ip v1.1.1
Compiling libc v0.2.10
Compiling socks v0.1.0 (file:///Workspace/Documents/iCepa/iCepa/Extension/tun2tor)
Compiling tun2tor v0.1.0 (file:///Workspace/Documents/iCepa/iCepa/Extension/tun2tor)
error: could not find native static library compiler-rt, perhaps an -L flag is missing?
Could not compile tun2tor.
To learn more, run the command again with --verbose.
fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: can't open input file: target/x86_64-apple-ios/debug/libtun2tor.a (No such file or directory)
Here is the full build log:
https://gist.github.com/ali-ht10/ca5721736cae71e951213ca60cbca4f0

After reinstalling rust, I did manage to successfully build the project. But when I press Start Tor button, the controller.addObserverForCircuitEstablished block is never called. The connected property of controller was false.

To respond to your old comments:

The second error, can't open input file was a result of the failure of the first error
Not being able to find compiler-rt is most likely because the compiler does not have the proper target compiled in

As for NSPOSIXErrorDomain Code=49, or EADDRNOTAVAIL – that is a current crippling issue that was introduced by some change I made and I can't figure out what causes it or how to fix it. That is what I am currently working on with regards to the project. I will try to fix it this weekend!

And what about the Tor configuration and the TunnelNetworkSettings?

I'm just wondering that whether Apple allows you to route all of your device's traffic through Tor. Because on App Store, majority of the apps related to Tor are Web Browsers. Meaning only one app's traffic is routed through Tor. I did query this question about whether Apple allows you to route all your traffic but got no response.
What do you think?

Hi @ali-ht10, you’re correct that apps currently in the App Store only have Tor within themselves. Generally, if you want Tor inside an iOS app, the Tor daemon needs be run as a thread within the app — not as a subprocess, like on Android or on normal computers. When you leave the Tor-using app to use another app, the Tor daemon is paused along with the rest of the app and can no longer process traffic.
The entire point of this iCepa project is to build something where Tor can run system-wide, as you describe. (The iOS 9 Network Extension framework is the new thing that hopefully allows this to happen.) However, iCepa is still a work in progress and does not completely work yet (see list here). So some of your other questions may not have answers yet.
But: the default NEPacketTunnelNetworkSettings and TORConfiguration() options should be OK to reuse, though if Tor is blocked where you are located, you may need more settings passed to TORConfiguration().
(I’m going to leave this ticket open pending the NSPOSIXErrorDomain Code=49 "Can't assign requested address" issue.)

Is this project still active? Interested in participating.

Yes it is! I am going to push some changes with Swift 3 in iCepa and Tor.framework, and it should be possible to develop without a jailbreak now that iOS 10 beta 2 raises the memory limit!

Requested "special Network Extension entitlements". Looking forward to getting this app live !

Looks like i need a payed developer account 👎

I resolved EADDRNOTAVAIL back in June at WWDC – going to close this issue.


Set display colour depth to correct value when switching to fullscreen

First time contributing to an open source project, wanted to start small.
fixes ppy/osu#1388
My reproduction of the bug: https://streamable.com/4wn3l (also tested on my laptop, same result)
When switching to fullscreen mode, the BitsPerPixel were being set to 0, which is an invalid value. When OpenTK detects 0bpp it uses a default value instead, resulting in the 256 colors mode (8bpp) mentioned in the issue above.

Works as expected, thanks!


OpenSSL on Node Alpine still not working after Prisma 4.8.0 on an ARM machine

Bug description
unfortunately still having this issue on macbook m1 and building on docker with node alpine @jkomyno
https://github.com/dotabod/backend/blob/master/web/Dockerfile
https://github.com/dotabod/backend/blob/master/docker-compose.yml
https://github.com/dotabod/backend/blob/master/twitch-chat-listener/prisma/mongo.prisma
 => CACHED [backend-web deps 2/7] RUN apk add yarn git python3 make g++                                                                          0.0s
 => CACHED [backend-web deps 3/7] WORKDIR /app                                                                                0.0s
 => CACHED [backend-twitch-chat-listener deps 4/7] COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./                            0.0s
 => [backend-twitch-chat-listener deps 5/7] COPY prisma ./prisma                                                                                0.2s
 => CACHED [backend-web deps 4/7] COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./                                             0.0s
 => [backend-web deps 5/7] COPY prisma ./prisma                                                                                0.3s
 => ERROR [backend-twitch-chat-listener deps 6/7] RUN yarn --frozen-lockfile                                                                    20.2s
 => CANCELED [backend-web deps 6/7] RUN yarn --frozen-lockfile                                                                                21.5s
------
 > [backend-twitch-chat-listener deps 6/7] RUN yarn --frozen-lockfile:
#0 0.449 yarn install v1.22.5
#0 0.536 [1/4] Resolving packages...
#0 0.725 [2/4] Fetching packages...
#0 10.11 info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
#0 10.11 info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
#0 10.12 [3/4] Linking dependencies...
#0 11.92 [4/4] Building fresh packages...
#0 17.98 $ prisma generate --schema ./prisma/mongo.prisma && prisma generate --schema ./prisma/postgres.prisma
#0 19.16 Prisma schema loaded from prisma/mongo.prisma
#0 19.43 Error: Unable to establish a connection to query-engine-node-api library. It seems that the current architecture arm64 is not supported, or that libc is missing from the system.
#0 19.43 Details: Unable to require(`/app/node_modules/prisma/libquery_engine-linux-arm64-openssl-1.1.x.so.node`)
#0 19.43  Error loading shared library ld-linux-aarch64.so.1: No such file or directory (needed by /app/node_modules/prisma/libquery_engine-linux-arm64-openssl-1.1.x.so.node)
#0 19.43 [Context: getDmmf]
#0 19.43
#0 19.43 Prisma CLI Version : 4.8.0
#0 19.49 error Command failed with exit code 1.
#0 19.49 info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
------
failed to solve: executor failed running [/bin/sh -c yarn --frozen-lockfile]: exit code: 1
error: Recipe `build` failed on line 27 with exit code 17

How to reproduce
Run docker compose up from https://github.com/dotabod/backend
Expected behavior
Should work !
Prisma information
https://github.com/dotabod/backend/blob/master/twitch-chat-listener/prisma/mongo.prisma
Environment & setup

OS: macOS M1
Database: Prisma using psql and mongo
Node.js version: 16.2 from dokcer

Prisma Version
this is from my host not my docker container
➜  twitch-chat-listener git:(master) yarn prisma -v
yarn run v1.22.19
$ /Users/matt/backend/twitch-chat-listener/node_modules/.bin/prisma -v
prisma                  : 4.8.0
@prisma/client          : 4.8.0
Current platform        : darwin-arm64
Query Engine (Node-API) : libquery-engine d6e67a83f971b175a593ccc12e15c4a757f93ffe (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli d6e67a83f971b175a593ccc12e15c4a757f93ffe (at node_modules/@prisma/engines/migration-engine-darwin-arm64)
Introspection Engine    : introspection-core d6e67a83f971b175a593ccc12e15c4a757f93ffe (at node_modules/@prisma/engines/introspection-engine-darwin-arm64)
Format Binary           : prisma-fmt d6e67a83f971b175a593ccc12e15c4a757f93ffe (at node_modules/@prisma/engines/prisma-fmt-darwin-arm64)
Format Wasm             : @prisma/prisma-fmt-wasm 4.8.0-61.d6e67a83f971b175a593ccc12e15c4a757f93ffe
Default Engines Hash    : d6e67a83f971b175a593ccc12e15c4a757f93ffe
Studio                  : 0.479.0
✨  Done in 2.03s.

i can "fix it" if i do FROM --platform=linux/amd64 node:16.2.0-alpine AS x , but it will use 2gb+ memory on the container lol

Thank you for taking the time to report the issue, and sorry for the confusion. Unfortunately the behaviour you are facing is currently expected and it is a completely different issue than what was fixed in 4.8.0. This issue is a duplicate of https://github.com/prisma/prisma/issues/8478, so I'm going to go ahead and close it to keep the backlog cleaner.
I can't provide any timeline about when we will officially support Alpine Linux on ARM, but this is something we keep in mind and want to fix. For now your options are:

Build the engines yourself from source on Alpine and point Prisma to your custom engines using the environment variables.
Switch to a Debian-based image (e.g. node:16.2.0-slim).
Use x86_64 image in emulation.
Try to make the ARM64 Debian binaries that we provide work on Alpine with libc6-compat and gcompat — not sure if I should even mentioned it as mostly like it would end up being waste of time. Besides, you would then probably need a Node.js binary linked with glibc instead of musl too in order to use the library engine.

Out of these options, only (1) and (2) are guaranteed to work, and (2) is the easiest.
Option (3), as you already noticed, is also easy, but comes with an extreme performance and memory cost, and might not work for complex applications. It is usually acceptable for local development (especially on M1 Pro, less so on base M1 models), but absolutely out of question if you deploy on ARM servers of course. If this works for you, then it's a reasonable workaround for now, but if it doesn't, it is also understandable.
Please keep an eye on the linked issue, we will post any updates about support for Alpine on ARM there.

@aqrln if i use option (3) does it still attempt to emulate when deploying to a prod machine that's already on x84_64 ? ie, can i reuse this same dockerfile for prod?

@Geczy you can reuse it in production, no emulation will happen if the specified platform matches the machine the container is running on. (Besides, Docker on Linux doesn't even have the ability to emulate different CPU architectures out of the box, you would need to use something like https://github.com/multiarch/qemu-user-static even if you wanted that).
If you want to avoid modifying the Dockerfile, you can pass --platform=linux/amd64 to docker buildx build command when building the container locally.

ty for your help! you've been great

Is there ETA for alpine ARM support @aqrln. Ik we can build from source but I wonder whats the hurdle is to provide binary for M1 ARM?


[ANDROID] Methods addSQLiteSuffix() and deleteOldDatabases() fails if 'databases' folder are missing

Describe the bug
On Android, addSQLiteSuffix() and deleteOldDatabases() methods don't work if 'databases' folder are missing.
We are migrating an application from Cordova to Capacitor3, so we tried to do DB migration right after initializing the plugin. When installing the app on a new device, the 'databases' folder does not exist and the indicated methods fail.
We have not tested with IOS yet
To Reproduce
Try to add suffix on empty device before create any DB.
export class AppComponent {
  constructor(
    private platform: Platform,
    private sqliteService: SQLiteService
  ) {
    this.platform.ready().then(() => {
      this.sqliteService.initializePlugin();
    });
  }
}

export class SQLiteService {
  platform: string;
  sqlite: SQLiteConnection;

  constructor() {}

  /**
   * Plugin Initialization
   */
  initializePlugin(): Promise<boolean> {
    return new Promise(async (resolve) => {
      const sqlitePlugin: any = CapacitorSQLite;
      this.sqlite = new SQLiteConnection(sqlitePlugin);

      try {
        /*
            this.addSQLiteSuffix() and this.deleteOldDatabases() are the same as
                on https://github.com/jepiqueau/angular-sqlite-app-starter
        */

        this.addSQLiteSuffix().then(
            () => this.deleteOldDatabases(),
            (error) => console.error('addSQLiteSuffix', error)
        );
      } catch (error) {
        console.error('catch', error);
      }

      resolve(true);
    });

    // ...
  }

On DevTools console (we can't catch the Unhandled Promise rejection):
Unhandled Promise rejection: addSQLiteSuffix: Folder /data/user/0/com.testapp.id/databases does not exist ; Zone: <root> ; Task: null ; Value: Error: addSQLiteSuffix: Folder /data/user/0/com.testapp.id/databases does not exist
    at Object.cap.fromNative ((index):429)
    at <anonymous>:1:18 Error: addSQLiteSuffix: Folder /data/user/0/com.testapp.id/databases does not exist
    at Object.cap.fromNative (http://<IP_ADDRESS>:8100/:429:32)
    at <anonymous>:1:18

Expected behavior
That there are no errors if there are no DBs to migrate or to be able to capture them
Smartphone (please complete the following information):

Device: Pixel 4 Emulator
OS: Android API 29

@dragermrb thanks for using the plug-in. Where are your Cordova sqlite databases stored that you want to migrate?.

There are two different cases:

Users with the previous app (cordova) who update to the new app (Capacitor3). These users have the databases in the default folder, everything works correctly.
Users installing the app for the first time (the new app with Capacitor). When executing the addSQLiteSuffix() method error occurs because the folder 'databases' does not exist (it is a new installation) and there is nothing to migrate.

One option is to run addSQLiteSuffix() only when there are DBs to migrate (how can we check if they exist?). The other option is for addSQLiteSuffix() to silently (without promise reject) terminate if there are no DBs to migrate.

@dragermrb i never imagine the case 2 as the command has been made for peopel migrating for cordova. anyhow i will provide a fix for this
on Android
    public void addSQLiteSuffix(Context context, String folderPath) throws Exception {
        String pathDB = new File(context.getFilesDir().getParentFile(), "databases").getAbsolutePath();
        File dirDB = new File(pathDB);
        if (!dirDB.isDirectory()) {
            dirDB.mkdir();
        }
        String pathFiles = this.getFolder(context, folderPath);
        // check if the path exists
        File dir = new File(pathFiles);
        if (!dir.exists()) {
            throw new Exception("Folder " + dir + " does not exist");
        }
        String[] listFiles = dir.list();
        if(!pathDB.equals(pathFiles) && listFiles.length == 0) {
            throw new Exception("Folder " + dir + " no database files");
        }
        for (String file : listFiles) {
            if (uFile.getFileExtension((file)).equals("db")) {
                if (!file.contains("SQLite.db")) {
                    String fromFile = file;
                    String toFile = file.replace(".db", "SQLite.db");
                    boolean ret = uFile.copyFromNames(context, pathFiles, fromFile, pathDB, toFile);
                    if (!ret) {
                        String msg = "Failed in copy " + fromFile + " to " + file;
                        throw new Exception(msg);
                    }
                }
            }
        }
        return;
    }

i have still to look for iOS

@dragermrb Fix in 3.1.2-1

Thanks @jepiqueau for the fast answer!


Create packages (deb and rpm)

The goal is to build (as a part of ci pipeline) deb and/or rpm packages installing cronn service (systemd?).

seems to be possible with goreleaser


App only works if index.php is present in url

Attempted Debugging

[X] I have read the debugging page

Searched GitHub Issues

[X] I have searched GitHub for the issue.

Describe the Scenario
I just installed BookStack, followed these instructions to configure apache, but using "/docs" alias. App is openning in browser but always redirects to "/docs/login" having the message "Page not found". Apache mod rewrite is enabled and the 000-default-conf in apache has exactly configuration in the link provided. When I put "index.php" right after /docs, ie: docs/index.php/login, the app works, but the problem is that app links don't use index.php, wich configuration do I have to make for this work correctly? All environment parameter are correct, the problems is just this index.php.

My .env APP_URL is http://xxx.xxx./docs
Followed configuration link to edit 000-default.conf
a2enmod rewrite command says that module is already in use

Exact BookStack Version
I don't know, could not login
Log Content
No errors
PHP Version
8.1
Hosting Environment
Debian 11

Hi @Macxion,

Are you restarting apache after configuration changes?
Are there other apache config files (Likely in /etc/apache2/sites-enabled that are interfering and actually being used instead of the config being edited?)
Does an apache config test pass? (sudo apachectl -t).
Can you share as much of your actual config as possible.

Hi @ssddanbrown, thank you for quicky response!

Yes, apache restarted
No, there is no other site-enabled, only 000-defaulf.conf
Apache config test gives de message "Syntax OK"
Of course, here it goes:

This is app_url in my .env
APP_URL=http://xxx.xxx.xxx.xxx/docs

This is my 000-default.conf
<VirtualHost *:80>

	ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

	ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

	[Some Env variables for PHP systems...]

	Alias "/docs" "/var/www/html/bookstack/public"

        <Directory "/var/www/html/bookstack/public">
                Options FollowSymlinks
                AllowOverride None
                Require all granted

                RewriteEngine On
                # Redirect Trailing Slashes If Not A Folder...
                RewriteCond %{REQUEST_FILENAME} !-d
                RewriteRule ^(.*)/$ /$1 [L,R=301]

                # Handle Front Controller...
                RewriteCond %{REQUEST_FILENAME} !-d
                RewriteCond %{REQUEST_FILENAME} !-f
                RewriteRule ^ index.php [L]

        </Directory>

        <Directory "/var/www/html/bookstack">
                AllowOverride None
                Require all denied
        </Directory>

</VirtualHost>

Result for a2enmod rewrite command is "Module rewrite already enabled"
I have no other configuration, the inital instalation has run ok, when I access browser, always receive this "Page not found" message

Thanks for the extra info @Macxion.
I see you have your BookStack install in /var/www/html/bookstack, which looks to be likely within another existing site/document root. This is not something I'd advise, and something I remember potentially being a problem in the past. It's also the main thing different to our guidance.
Could you try instead moving your BookStack install outside of this web root path? To somewhere like /var/www/bookstack then update your config to suit, then restart apache.


fix(stringify): filter circular references

Needs to be tested.
Should close #3 .

it works for me, filters out circular references perfectly, but the database object gets still serialized and published which seems unnecessary, potentially even leaking database credentials.
maybe we should additionally remove the field?
if(body.pad && body.pad._db) {
  delete body.pad._db;
}

current resulting json
{
    "envelope": {
        "name": "PadLoadSysMsg",
        "routing": {
            "sender": "etherpad"
        },
        "timestamp":<PHONE_NUMBER>909
    },
    "core": {
        "header": {
            "name": "PadLoadSysMsg"
        },
        "body": {
            "pad": {
                "_db": {
                    "db": {
                        "type": "redis",
                        "dbModule": {},
                        "dbSettings": {
                            "host": "redis",
                            "port": 6379,
                            "filename": "/opt/etherpad-lite/var/dirty.db"
                        },
                        "wrapperSettings": null,
                        "logger": {},
                        "db": {
                            "wrappedDB": {},
                            "settings": {
                                "bulkLimit": 0,
                                "cache": 10000,
                                "writeInterval": 100,
                                "json": true,
                                "charset": "utf8mb4",
                                "host": "redis",
                                "port": 6379,
                                "filename": "/opt/etherpad-lite/var/dirty.db"
                            },
                            "buffer": {
                                "_capacity": 10000,
                                "_cache": {}
                            },
                            "_locks": {},
                            "metrics": {
                                "lockAwaits": 0,
                                "lockAcquires": 7,
                                "lockReleases": 7,
                                "reads": 4,
                                "readsFailed": 0,
                                "readsFinished": 4,
                                "readsFromCache": 3,
                                "readsFromDb": 1,
                                "readsFromDbFailed": 0,
                                "readsFromDbFinished": 1,
                                "writes": 3,
                                "writesFailed": 0,
                                "writesFinished": 3,
                                "writesObsoleted": 0,
                                "writesToDb": 3,
                                "writesToDbFailed": 0,
                                "writesToDbFinished": 3,
                                "writesToDbRetried": 0
                            },
                            "flushInterval": {
                                "_idleTimeout": 100,
                                "_idlePrev": {
                                    "expiry": 17689,
                                    "id": -9007199254740841,
                                    "msecs": 100,
                                    "priorityQueuePosition": 3
                                },
                                "_idleStart": 17589,
                                "_repeat": 100,
                                "_destroyed": false
                            },
                            "_flushDone": null
                        }
                    }
                },
                "atext": {
                    "text": "\\n",
                    "attribs": "|1+1"
                },
                "pool": {
                    "numToAttrib": {},
                    "attribToNum": {},
                    "nextNum": 0
                },
                "head": 0,
                "chatHead": -1,
                "publicStatus": false,
                "id": "[2]74ff52a1f6413e67598fedce797670b91b99",
                "savedRevisions": []
            }
        }
    }
}


[FEATURE] show MAC address of registered devices in log

print the MAC address in the log every time a device is mentioned
I use switches directly with HomeKit and ignore them in the hombridge plugin. I have no way to find out the MAC address (other then checking in MyStrom app, via DHCP server or reading from device sticker)

Some users didn't like the standard logging of all the discovered MAC's. They're printed, but only in debug mode and only if auto-discovery is disabled. If you turn on debug mode in Homebridge you'll see them.
In case you want to suggest improvements to that: have a look into src/platform.ts: what you look for is around lines 890-1000.


Signup Page

#Feature Request
Create a Signup page, The Feature is given below:

it should take input as Name, Email, School/Company, password and confirmPassword
design the intuitive frontend page
it should created the dummy signup button

@Coderlearner41 please take over


Refactor code to make it more reusable

@lymanepp what do you think? It's a breaking change but I think it's worthwhile for the cleanliness. Assuming we move forward with this, I would then create a new PR to handle >55 fields in realtime and _forecast

Codecov Report

Merging #12 (296bd0a) into master (267fc61) will decrease coverage by 0.80%.
The diff coverage is 84.21%.

:exclamation: Current head 296bd0a differs from pull request most recent head 1756e35. Consider uploading reports for the commit 1756e35 to get more accurate results

@@            Coverage Diff             @@
##           master      #12      +/-   ##
==========================================
- Coverage   85.18%   84.38%   -0.81%
==========================================
  Files           7        7
  Lines         324      333       +9
==========================================
+ Hits          276      281       +5
- Misses         48       52       +4

Impacted Files
Coverage Δ

pytomorrowio/pytomorrowio.py
82.02% <84.21%> (-1.41%)
:arrow_down:

Continue to review full report at Codecov.

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

I'm happy with where this landed. Any additional changes can come in another PR

I like the changes too!


how to install on raspbian

hi guys
im trying to figuring out how to install angular/cli on rapbian on my raspberry pi 2
it always says command not found when trying to run "ng"

Hello, we reviewed this issue and determined that it doesn't fall into the bug report or feature request category. This issue tracker is not suitable for support requests, please repost your issue on StackOverflow using tag angular-cli.
If you are wondering why we don't resolve support issues via the issue tracker, please check out this explanation.


Disable auto request reviewers feature

The auto-request reviewers feature never really worked well. The problem is that it tries to copy the current open review requests, but when a PR is merged, most of those reviews have already been completed. When completed, they are no longer on the review request list. So most of the time, the backport PR is created without a request for reviewers.
The feature became problematic for users when using a bot user (PAT) that does not have admin rights to the repository. Those rights are necessary to request reviewers in some repos. See #239.
Multiple solutions were possible, but as this feature doesn't behave as wanted, and might even be unexpected to some users (breaking the principle of least astonishment), I believe it should simply be removed. We can always re-introduce it with a configuration option at a later time.
reverts #4
fixes #239

Tested with https://github.com/korthout/backport-action-test/actions/runs/2369990827


[FEATURE] LiveMap History

Description
Idea/Enhancement
Create a toggle view that would allow folks visiting the map to see past contributions over a period of time
Would need to create a connection to the API (vs websocket for live) to be able to do this and decide on what length of time or if we would want to offer a filter of choices
Screenshots
No response
Additional information
No response

Hey, for a better view, we can make use of Globe wherein the user can roll the globe and view the locations.

Hi @Abbas-Hussain-Muzammil and welcome to the project. It is important that comments on issues are relevant to the issue and what they cover.
If you would like to start a new issue or discussion about an idea you have, please see the contribution guidelines to help guide your submission.
Happy to help if you are unsure of where to put things and how much detail. Feel free to ask here or in discord.


”Târnava” is listed in the drop-down menu

Description:
"Târnava" is listed in the drop-down menu alongside its corresponding county and commune, according to the law.
Precondition:
The website is up an running.

Step 1
Type "Târnava" in the search bar.

Expected results
The location is listed in the drop-down menu as "Comuna Târnava, SIBIU".


Fix when git repo is in detached state

It fixes
https://github.com/ldelossa/nvim-ide/issues/20
After fixing,
ross@ross-comp:~/packer/opt/which-key.nvim$ git checkout HEAD~1
Note: switching to 'HEAD~1'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 5ffa07b refactor: removing deprecated health functions (#377)
ross@ross-comp:~/packer/opt/which-key.nvim$ nvim

no longer has errors, while the branches still show up correctly.

Thanks!!


Linux audio distorted in Index headset, correct on laptop speakers

PROBLEM:
When audio plays from the laptop speakers it sounds correct. When audio plays from the VR headset it sounds very distorted.
SETUP:
Alienware M17, Intel i7-9750H, GeForce 2060
Index headset
Ubuntu 202.04
SteamVR BETA linux_v1.14
Unity 2019.4.36f1
FMOD Unity plugin
SteamAudio Unity plugin
SteamVR Unity plugin
NOTE: I have also tested with the standard and latest beta versions of SteamVR. In this case the rendering has frequent visual corruption, deformation, and the camera position will jitter... and ALSO the audio is distorted.
NOTE: Using exactly the same hardware & Unity project, but running Windows10 (system is dual-boot) there are no audio issues. So the issue cannot be hardware (a loose connection, bad cables, etc.)

REQUEST: If you landed here in the course of a Linux + SteamVR search and have a working system or have experienced the same issue, could you please take a couple of minutes to post your system setup?
Maybe I'm the only user experiencing this issue, but it effectively makes Linux VR unusable for my application.


How to obtain the token v2?

Can anyone tell me how I can obtain the token - v2.

From the README:
# Obtain the `token_v2` value by inspecting your browser cookies on a logged-in session on Notion.so

In Firefox: (I don't have chrome to test this on but it should be similar)

Press F12 in your webbrowser while being on Notion.so
In the menu, go to the storage tab
In this tab, go to cookies > notion.so
With notion.so selected it should be there named token_v2 with the value right next to it

The value of token_v2 is the value you should give to NotionClient() as the first argument

@TheSpeedM How long is this token lasts? Do I have to change it every now and then?

Next to the token in the F12-menu it says Expires / Max-Age. It looks like this is always set to far in the future, so it is basically endless.

If you log out of your session in the browser, I think it resets. Otherwise it seems to last pretty indefinitely. But not guaranteed to.


Can not get data success

flash-store version: v0.18.14
I can not provided the exact reproduce step for this problem. And Im not sure this problem is related compactDB() method or not.
It occurs in these cases:

large storage
get or set frequently

Log
ReadError: Unexpected end of JSON input
    at /xiaoju-bot/node_modules/levelup/lib/levelup.js:194:15
    at /xiaoju-bot/node_modules/encoding-down/index.js:79:14
    at /xiaoju-bot/node_modules/medeadown/medeadown.js:129:7
    at /xiaoju-bot/node_modules/medea/medea.js:551:15
    at FSReqWrap.wrapper [as oncomplete] (fs.js:463:17)

Related issue: https://github.com/wechaty/wechaty-puppet-padplus/issues/201

Thanks for the issue.
It seems that Medea db has some issues in our production environment.
I'll try to use SQLite3 as the backend in the next version of FlashStore, and I hope that the SQLite3 will be more stable and relaiable.

Anything update about this problem?
<EMAIL_ADDRESS>will throw segment fault error occasionally, when wechaty-puppet-xxx reset.
Could I do something for this?

I'm using<EMAIL_ADDRESS>now, you can have a try on that version.

Thank you for your suggestion, I will have a try on that.

I'm using<EMAIL_ADDRESS>now, you can have a try on that version.

<EMAIL_ADDRESS>has same problem as<EMAIL_ADDRESS>

Sad to know that.
Then I believe<EMAIL_ADDRESS>is your last choice to try.

Bad news<EMAIL_ADDRESS>can not install successfully in win32 platform.

It seems that it's the time to push flash-store forward 1 step now.
Before we upgrade the FlashStore, you have a last chance with<EMAIL_ADDRESS>I don't know if SnapDB can work well... If we are lucky.

<EMAIL_ADDRESS><EMAIL_ADDRESS>These versions could resolve this problem.
After testing<EMAIL_ADDRESS>if it works nice, I will close this issue.

Good to know that, thanks for the confirmation!