text:
Omniauth: One Time Code Flow

Summary: Does devise_token_auth support hybrid omniauth flow?
I'm trying to add Google Auth to an application that's using devise token auth. I'm using the  omniauth-google-oauth2 gem for Google auth and the preferred flow that I'm using is the one time code flow
It seems that Devise Token Auth does not support this flow(Hybrid/One Time Code Flow) by default. Here is how I've gone about implementing the flow:

My front end client makes a request to Google APIs and gets an Authorization Code
I then make a POST request to /api/v1/auth/google_oauth2/callback providing the authorization code as a parameter. (This endpoint is processed by omniauth_callbacks#redirect_callbacks)

When I make the above request, however, I get this error:
NoMethodError (undefined method `underscore' for nil:NilClass):
/Users/.../bundler/gems/devise_token_auth/app/controllers/devise_token_auth/omniauth_callbacks_controller.rb:16:in `redirect_callbacks'

Close investigation reveals that request.env['omniauth.params'][resource_class]` has not been set. I try to fix this my setting it in my overrides:
class OmniauthCallbacksController < DeviseTokenAuth::OmniauthCallbacksController
  before_action :set_omniauth_params, only: :redirect_callbacks

  private

  def set_omniauth_params
    return if omniauth_params_present?
    request.env['omniauth.params'] =  {
      'resource_class' => 'User',
      'omniauth_window_type' => 'newWindow'
    }
  end

  def omniauth_params_present?
    request.env['omniauth.params']&.any?
  end
end

This fixes my current issue, but then I keep running into various errors. In a bin to have a working solution, I made these few patches:

Pathed devise_token_auth (OmniauthCallbacksController) so as to know when One Time Code Flow is being used, and avoid a redirect when this flow is being used. Here's the diff

Added some overrides in the project:

class OmniauthCallbacksController < DeviseTokenAuth::OmniauthCallbacksController
  before_action :set_omniauth_params, only: :redirect_callbacks

  private

  def set_omniauth_params
    return if omniauth_params_present?
    omniauth_params = {
      'resource_class' => 'User',
      'omniauth_window_type' => 'newWindow'
    }
    request.env['omniauth.params'] = omniauth_params
  end

  def omniauth_params_present?
    request.env['omniauth.params']&.any?
  end

  def assign_provider_attrs(user, auth_hash)
    auth_hash = auth_hash.to_hash
    super(user, auth_hash)
  end

  def get_resource_from_auth_hash
    @resource = resource_class.find_by(email: auth_hash[:info][:email])
    return super unless @resource
    @resource
  end
end

Any updates on this? I'm currently also trying to implement One Time Code Flow with devise token auth. @jacferreira mind posting the code you wrote to get this working?

I tried for two days to implement this One Time Code Flow with rails 6, omniauth-google-oauth2 and devise-token-auth. Finally gave up on devise-token-auth library...
I just bumped on this thread now and decided to post something to support the request for a fix

authors: KoderMAL macgill4444 morriskimani

license: WTFPL


text:
Auth header is not being set in sign up when using confirmable with allowed unconfirmed access

On sign up, although unconfirmed access is configured, auth headers are not updated. So automatic sign in after sign up does not occurs (this works fine if confirmable module is not used).
I think it's because the following line: https://github.com/lynndylanhurley/devise_token_auth/blob/master/app/controllers/devise_token_auth/registrations_controller.rb#L51
unless @resource.confirmed?

should be replaced by:
!@resource.respond_to?(:active_for_authentication?) or @resource.active_for_authentication?

just like it was replaced in https://github.com/colavitam/devise_token_auth/commit/269e0235ea5a7f2aaa239b3dcbb3e876fcc4d61d
Is this correct?

Well, I think that what I said before is not completely right. First of all the condition should be the opposite and also in that case confirmation email will not be sent.
So, I think something like this should be the right way to go:
         unless @resource.confirmed?
            @resource.send_confirmation_instructions({
              client_config: params[:config_name],
              redirect_url: redirect_url
            })
          end

          if !@resource.respond_to?(:active_for_authentication?) or @resource.active_for_authentication?

            # email auth has been bypassed, authenticate user
            @client_id = SecureRandom.urlsafe_base64(nil, false)
            @token     = SecureRandom.urlsafe_base64(nil, false)

            @resource.tokens[@client_id] = {
              token: BCrypt::Password.create(@token),
              expiry: (Time.now + DeviseTokenAuth.token_lifespan).to_i
            }

            @resource.save!

            update_auth_header
          end

Thanks for reporting this, @virginia-rodriguez!  I'm hitting this issue as well and am shutting off confirmable for the time being.
Would you like to create a PR for this?  Your code appears to be correct.

Seems like this is solved? See #89 . Otherwise feel free to reopen.

source: gharchive/issue

authors: sgonyea virginia-rodriguez zachfeldman

license_type: permissive

license_source: github-api


text:
Option for weighing by edges at the "weighted aggregate on neighbours function"

Dear LK Developers,
It would be nice to add the option of weighting the node values by the edges at the weighted aggregate on neighbors function. I have a workaround (create a vertex feature from the edge-weight and use that as a weight), but it would be more comfortable to have the option as well.
Thank you.
Best Regards,
Marton

@mszel Hi Marton!

Could you please specify the desired behavior in the case when a node has edges with different weights? In your workaround it seems that you are losing information.
How should we deal with the case when two nodes are connected with several edges simultaneously?
Do we need separate cases for outcoming, incoming and all edges?

Please see suggested "workaround" - does it represent the behaviour that you need in the end? (assuming that we count all incoming edges)
https://pizzabox.lynxanalytics.com/#/workspace/Users/olena.herasymenko@lynxanalytics.com/edge_aggregation

repo: lynxkite/lynxkite


text:
Take out directory which contain file in the archive as new archive.

The process is categorized to following several pattern.
Pattern A: Do Nothing if the archive is applicable to following 2 pattern.
Pattern A-1: If the archive does not include directory.

root/
|--archive.zip
    |--file

Pattern A-2: If the archive include only directory.

root/
|--archive.zip
    |--directory/

Pattern B: Take out the end of directory if the archive is applicable to following 2 pattern.
Pattern B-1: If the archive include directory including file.

root/
|--archive.zip
    |--directory/
        |--file

Pattern B-2: If the archive include file and directory including file.

root/
|--archive.zip
    |--file_root
    |--directory_A/
        |--file_A

Add take out pattern.
Pattern C: Take out the end of directories if the archive is applicable to following 2 pattern.
Pattern C-1: If the archive include several directories including file.

root/
|--archive.zip
    |--directory_A/
        |--file_A
    |--directory_B/
        |--file_B

Pattern C-2: If the archive include nesting directories including file.

root/
|--archive.zip
    |--directory_A/
        |--file_A
        |--directory_B/
            |--file_B

Add take out pattern 2.
Pattern D: Avoiding override of directory you took out.

root/
|--archive.zip
    |--directory_A/
        |--directory_same/
            |--file_A
    |--directory_B/
        |--directory_same/
            |--file_B
    |--directory_C/
        |--directory_same/
            |--file_C

Archives after took out directories is follow.

root/
|--directory_same.zip
    |--file_A
|--directory_same_.zip
    |--file_B
|--directory_same__.zip
    |--file_C
|--archive.zip
    |--directory_A/
    |--directory_B/
    |--directory_C/

You can confirm that under bar is adding to name of new archive.

Add take out pattern.
Pattern E: Take out directory to specific directory.

root/
|--archive.zip
    |--directory/
        |--file

Archives after took out directories is follow.

root/
|--archive.zip
specific_root/
|--directory.zip
    |--file

Add take out pattern.
Pattern F: Protect original archive.
Archive never update even if it's edited.

root/
|--archive.zip
    |--directory/
        |--file

Archives after took out directories is follow.

root/
|--directory.zip
    |--file
|--archive.zip
    |--directory/
        |--file

repo: lyoutakoduka/spartaproject

license: MIT


text:
dgo local references

I think I'm seeing something similar to this - for some lookups I get back __ref: 26 or similar on the first try, but retrying the lookup returns the correct value. I can't figure out exactly what's triggering it, but I think it's only when using strict_alias. Also passing --dialect pcore seems to make it work first time.

@hbuckle I think I know where the problem is but I'd like to know two things to be certain:

What version are you using?
Do you see the same thing if you use --render-as json?

@thallgren

Using the latest tagged version 0.3.6, and hiera_terraform built from master

--render-as json exhibits the same behvaiour - "{\"__ref\":26}"

Inadvertently closed by merge of #75 (which doesn't fix the problem).

authors: hbuckle thallgren

repo: lyraproj/hiera


text:
解决方案检查

[X] 我已阅读常见问题(https://lyswhut.github.io/lx-music-doc/desktop/faq)，但没有找到解决方案
[X] 我已搜索issue列表(https://github.com/lyswhut/lx-music-desktop/issues?utf8=✓&q=)，但没有发现类似的问题

问题描述
试听列表内试听歌曲太多,只能逐一删除,很不方便
描述你想要的解决方案
可以为试听列表添加清空选项
描述你考虑过的替代方案
No response
附加信息
No response

使用多选功能选中所有歌曲删除，详情看文档

repo: lyswhut/lx-music-desktop


text:
解决方案检查

[X] 我已阅读常见问题(https://lyswhut.github.io/lx-music-doc/desktop/faq)，但没有找到解决方案
[X] 我已搜索issue列表(https://github.com/lyswhut/lx-music-desktop/issues?utf8=✓&q=)，但没有发现类似的问题

问题描述
双屏显示模式下，无法把歌词拖到扩展屏
描述你想要的解决方案
希望能把歌词在副屏显示
描述你考虑过的替代方案
No response
附加信息
No response

pr里有人做了，作者觉得没什么必要，看看作者后面需不需要这个功能吧

桌面歌词设置里面，取消勾选”不允许把歌词窗口拖出主屏幕之外“


text:
希望能出一个lx的ipa版本

解决方案检查

[X] 我已阅读常见问题(https://github.com/lyswhut/lx-music-mobile/blob/master/FAQ.md)，但没有找到解决方案
[X] 我已搜索issue列表(https://github.com/lyswhut/lx-music-mobile/issues?utf8=✓&q=)，但没有发现类似的问题

问题描述
求一个ipa文件，🙏🙏🙏
描述你想要的解决方案
ipa文件不需要签名的那种，能自己使用apple账号签名就行
描述你考虑过的替代方案
No response
附加信息
No response

没有计划兼容苹果设备（至少目前是这样）

authors: CCWAY lyswhut

repo: lyswhut/lx-music-mobile


text:
Gitlab style syntax support

Would it be possible to support Gitlab style syntax? I have some documentation that is hosted using mdBook and on a gitlab repo. I would like to be able to have them render similarly together.
for example the inline math in gitlab is
$`\frac{x}{y}`$

and for blocks
```math
\frac{x}{y}
```

I'd rather keep things simple and have a single syntax for equations. However, a simple way to achieve what you want would be to use the mdbook-regex preprocessor to turn your gitlab math into katex math with regular expressions (which shouldn't be too hard), and then use this preprocessor to render equations.

Fair enough, thanks for workaround, I'll look into it.

I'm trying to implement your recommended solution but there seems to be an issue where the replaced code is not proccessed by the katex preprocessor.
Into the book.toml I added
[preprocessor.katex]
[preprocessor.regex]
patterns = "math.json"
before = [ "katex" ]

with the contents of math.json being
[
	{
		"pattern" : "```math\\n([^`]*)\\n```",
		"template" : "\\$\\$\\$1\\$\\$"
	},
	{
		"pattern" : "\\$`([^`]*)`\\$",
		"template" : "\\$\\${1}\\$"
	}
]

(probably not perfect the expressions but good enough for me now). The file
Controllability
===============

A system is controllable if there exists a sequence of inputs $\bm{u}$ such that the system's state converges to any desired state $`\bm{x}`$.

The state of a linear system
$$
\dot{\bm{x}} = \bm{A}\bm{x} + \bm{B}\bm{u}
$$
can be expressed as
```math
\bm{x}(t) = \int_0^t e^{\bm{A}(t-τ)} \bm{B} \bm{u}(τ)\ dτ
```end
assuming $`\bm{x}(0) = \bm{0}`$

(ignore the "end", without it github breaks up the code block) then renders as

authors: Progdrasil lieskjur lzanini

repo: lzanini/mdbook-katex


text:
The Selector should be a field in a Simulation.

This enables reuse of selectors, which will be useful for #1. We can also move the selector implementation to a separate module, reducing the bloat in sim::seq.

The main issue with this is that Selector function implementations currently have access to the Simulation struct's fields, because they are in the same module. Selector functions should therefore have the following signature instead:
fn selection_xyz(in: &Vec<T>, param1: type1, param2: type2...) -> Result<Parents<T>, String>;

Fixed in 0a3610cc55d654470fe95c32c8de95b78510c9c5.

repo: m-decoster/RsGenetic


text:
Update stats-pipeline queries per data quality team review

Change from per-ip, per time period aggregate of aggregates to a random sample per IP per time period
Publish log scale histograms, but don't publish linear averages in final histograms
Publish the descriptive statistics of a consistent client metric, such as the log average or median of client test samples:

25th percentile
median
75th percentile

For review @gfr10598 @mattmathis @laiyi-ohlsen @stephen-soltesz
The continent aggregate query has been updated to use @gfr10598's suggested randomization and log average methods in the random-sampling branch.
Also available as a BQ saved query

For review @gfr10598 @mattmathis @laiyi-ohlsen @stephen-soltesz
The continent aggregate query has been updated to use @gfr10598's suggested randomization and log average methods in the random-sampling branch.
Also available as a BQ saved query

AS and AS Name should be included aggregations per geography, in addition to geographies without AS Name granularity.

AS and AS Name should be included aggregations per geography, in addition to geographies without AS Name granularity.

Resolved in #45

Resolved in #45

repo: m-lab/stats-pipeline


text:
Make the ping example work with IPv6

ICMPv6 support was added to ICMP sockets with https://github.com/m-labs/smoltcp/pull/205. The ping example should be updated to work when the target address is an IPv6 address.
Note: The README should probably be updated as well

Fixed by #207

repo: m-labs/smoltcp


text:
Error

root@e:~/CloudFuck# python3 cf.py seo.com
Traceback (most recent call last):
File "cf.py", line 5, in
from DNSDumpsterAPI import DNSDumpsterAPI
File "/root/CloudFuck/DNSDumpsterAPI.py", line 8, in
import requests
ImportError: No module named 'requests'
root@e:~/CloudFuck#

seems like you need the requests module;
what happens if you try:

sudo pip install requests

Hey, sorry for the late reply, I git clone'd again, getting this error after I... sudo pip install colorama.
root@e:[~/CloudFail]: python cloudfail.py --target seo.com
Traceback (most recent call last):
File "cloudfail.py", line 9, in
import colorama

Yo that cool sorry for the close thought that fixed it.
I pushed quite a big update in the mean time, but the libs should had stayed the same.
You definitely are running on python3? You may need to set this up if you are using Linux.
also please make sure you have the colorama lib here: https://pypi.python.org/pypi/colorama

Closing due to no reply

i get the colorama issue also

@wifiuk you need to install colorama for python3 sudo pip3 install colorama
You will need pip setup correctly for python3 (pip3)

   ____ _                 _ _____     _ _   / ___| | ___  _   _  __| |  ___|_ _(_) |                                                                                | |   | |/ _ \| | | |/ _ | |_ / ` | | |
| || | () | || | (| |  | (| | | |
_||__/ _,|_,||  _,||_|
v1.0.5                      by m0rtem
File "/home/dheeraj/Desktop/tools/CloudFail/cloudfail.py", line 307, in
dnsdumpster(args.target)
File "/home/dheeraj/Desktop/tools/CloudFail/cloudfail.py", line 84, in dnsdumpster
res = DNSDumpsterAPI(False).search(target)
File "/home/dheeraj/Desktop/tools/CloudFail/DNSDumpsterAPI.py", line 71, in search
soup = BeautifulSoup(req.content, 'html.parser')
File "/usr/local/lib/python3.10/dist-packages/bs4/init.py", line 228, in init
self._feed()
File "/usr/local/lib/python3.10/dist-packages/bs4/init.py", line 289, in _feed
self.builder.feed(self.markup)
File "/usr/local/lib/python3.10/dist-packages/bs4/builder/_htmlparser.py", line 215, in feed
parser.feed(markup)
File "/usr/lib/python3.10/html/parser.py", line 110, in feed
self.goahead(0)
File "/usr/lib/python3.10/html/parser.py", line 178, in goahead
k = self.parse_html_declaration(i)
File "/usr/lib/python3.10/html/parser.py", line 269, in parse_html_declaration
self.handle_decl(rawdata[i+2:gtpos])
File "/usr/local/lib/python3.10/dist-packages/bs4/builder/_htmlparser.py", line 160, in handle_decl
self.soup.endData(Doctype)
File "/usr/local/lib/python3.10/dist-packages/bs4/init.py", line 365, in endData
self.object_was_parsed(o)
File "/usr/local/lib/python3.10/dist-packages/bs4/init.py", line 370, in object_was_parsed
previous_element = most_recent_element or self._most_recent_element
File "/usr/local/lib/python3.10/dist-packages/bs4/element.py", line 1054, in getattr
return self.find(tag)
File "/usr/local/lib/python3.10/dist-packages/bs4/element.py", line 1292, in find
l = self.find_all(name, attrs, recursive, text, 1, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/bs4/element.py", line 1313, in find_all
return self._find_all(name, attrs, text, limit, generator, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/bs4/element.py", line 528, in _find_all
strainer = SoupStrainer(name, attrs, text, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/bs4/element.py", line 1610, in init
self.text = self._normalize_search_value(text)
File "/usr/local/lib/python3.10/dist-packages/bs4/element.py", line 1615, in _normalize_search_value
if (isinstance(value, str) or isinstance(value, collections.Callable) or hasattr(value, 'match')
AttributeError: module 'collections' has no attribute 'Callable'
`


text:
chi mrat 5dmat lia f B1 WLA B2 wbzaaf dlmrat la chnou l7l broujoula gali wa7d kayna update 5ra 7ssn wla ma3rt

Describe the bug
A clear and concise description of what the bug is.
Browser

[ ] firefox
[ ] chrome

version:
rosettastone product

[ ] Foundations
[ ] Fluency builder

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.

Mazal maban walo sarha in sha Allah ikon xib haja

rah khdama ta f c1

rah khdama ta f c1

Khouya lah yrhemlik lwalidin gholya fin dayr lghalat  ana b1 mabghach yzid lya lwe9t.
3ndi version 3.0.1
Kanswb ex wlakin makaytaffichach lya extension bach nzid lwe9t automatiquement khasni ana nbrk 3liha o nzid lwe9t
Lbarh zdt 30 min o mzl ldb matzadt

rah khdama ta f c1

swa3 ka ytzado f nefss lwe9t ?

Ana jrbtha wzadtni 57h 7itach b9it knzid knzid ta dazt 24h 3ad ban dkchi o t9olbt db jrbt fkontat akhrin mkaytzadech ta mn b3d 24h

Ana jrbtha wzadtni 57h 7itach b9it knzid knzid ta dazt 24h 3ad ban dkchi o t9olbt db jrbt fkontat akhrin mkaytzadech ta mn b3d 24h

sat momkin discord?


text:
Export to pdf work abnormally

[x] The Plugin is up to date
[x] Obsidian is up to date

Describe the bug
When I print to pdf, line number disappear, line highlight disappear, wrap Failure
To Reproduce
Just export to pdf
Screenshots

pdf show

Occurs on

[x] Windows
[ ] macOS
[ ] Linux
[ ] Android
[ ] iOS

special language might not support in obsidian

repo: mProjectsCode/obsidian-shiki-plugin


text:
Support angular without jquery

There are cases where angular is used without jquery (with jqlite). If so then executing 'element.selectize()' will throw error that selectize is undefined. To fix that we should to check jquery in element prototype and re-initialize element with jQuery on fail.

This is important for some of us and I think it resolves #176
Any ETA?

source: gharchive/pull-request

license: mit

license_source: bigquery


text:
Fix the pyro samplers

Fix for #286
Ok, I'm still pretty confused why this happens. It seems that, after the chain is run, .cleanup is called here which then calls ._reset(), which sets the init_params=None, see here
However, after all this, transforms are performed on the samples. If transforms=None was specified, a transformation is automatically inferred, as explained here. However, this again sets up the kernel here, which requires init_params. It breaks because the init_params had been set to None.
A fix is to set transforms={}. With this, transforms are not automatically inferred and everything works fine.
I haven't found the commit in pyro that led to all this mess. Not sure if it's a bug from their side or intended functionality.

I am not familiar with this part of the code and it is unlikely I can look at it before my holidays - sorry!

Issue Description
Since pyro v1.4.0, MCMC with a potential_fn fails with default parameters. Using a potential_fn requires specification of initial_params. However, after the chain was run, but before transforms are applied, .cleanup is called here which sets the initial_params=None.
However, because of this change, self.kernel.setup() will be called if self.kernel.transforms is None. This will then throw an error due to initial_params=None. Until pyro v1.3.1, self.transforms had simply been set to {} if self.kernels.transforms is None.
The issue can currently be circumvented by setting transforms={}. However, I could not find a documentation of this API change. If this is intended functionality, it would be great to give a more informative error message.
Environment

macOS 10.13.6, python 3.8.2.
torch: 1.6.0
pyro: 1.4.0

Code Snippet
from pyro.infer import HMC, MCMC
import torch
import pyro
pyro.set_rng_seed(0)

def potential_function(theta):
    # Get the values from the dictionary.
    theta = next(iter(theta.values()))
    # A simple Gaussian-shape potential function.
    return torch.exp(-theta**2)

mcmc = MCMC(kernel=HMC(potential_fn=potential_function),
            num_samples=10,
            warmup_steps=10,
            transforms=None,
            initial_params={"": torch.tensor([1.0])}
           )
mcmc.run()

will lead to:
AttributeError: 'NoneType' object has no attribute 'values'

Thanks for your efforts!

I'm closing this. Pyro has fixed the bug: https://github.com/pyro-ppl/pyro/issues/2585
As soon as they release v1.4.1, we can lift our ==1.3.1 pin and also close the issue #286

authors: meteore michaeldeistler

repo: mackelab/sbi


text:
update macos, golang

use macos-14
use Go 1.23 & 1.22

Thanks for your review.

repo: mackerelio/workflows


text:
Parsing Error tracking: gro_hash

The gro_hash method in folding/utils/ops.py encounters errors for certain proteins/DNA. This method is responsible for generating the hash for a specific gro file. It does this by parsing the .gro file, connecting the residue name, atom name, and residue number from each line together into a single string. The error arises because some of  the atoms contain apostrophe's.
The goal for this issue is to increase the robustness of the gro_hash generator so that it can accommodate for cases like this.
Another goal for this issue is to track other errors.

PR from @mccrindlebrian addressing the gro_hash with provided testing files.

repo: macrocosm-os/folding


text:
Deal with fiscal period in the CashCtrlLedger

Description:
CashCtrlLedger package should automatically adapt to different fiscal periods when accessing and modifying ledger entries.
This requires knowledge sharing session with Lukas

Possible Options for Handling Fiscal Periods in the CashCtrlLedger Package
Option 1: Perfect Solution (Abstract Logic in PyLedger)
Description: Define abstract logic for managing fiscal periods in the pyledger package and implement a caching mechanism in the cashctrl_api package. The CashCtrlLedger package would implement the abstract methods to handle fiscal periods accordingly.
Benefits:

Follows a clean, modular approach by abstracting fiscal period handling.
Provides a reusable, consistent mechanism for managing fiscal periods across different ledger implementations.
Efficient caching in cashctrl_api will reduce redundant API calls, improving performance.

Pitfalls:

This approach requires significant effort and time to design and implement.
Adds complexity to the project by introducing new abstract methods and caching logic that isn't immediately necessary for the current problem.
Fiscal periods aren’t an issue in pyledger, so introducing abstract logic at this level may be over-engineering for the current use case.

Option 2: Define Fiscal Periods as Settings
Description: Define fiscal periods as settings in the form of a dictionary or configuration file. These settings would then be mirrored to CashCtrl via the API.
Benefits:

Quick and simple to implement.
Can be integrated into the existing settings structure without requiring significant changes.

Pitfalls:

This approach doesn’t align with the current DataFrame-based architecture.
Mirroring fiscal periods through settings may introduce more complexity, as you would need to manage both settings and API logic separately.
Less flexible and scalable, especially as new requirements for fiscal period handling arise.

Option 3: Implement Logic for Current Needs (with Expandability)
Description: Define logic for creating fiscal periods when adding or updating ledger entries. When an entry’s date isn’t within an existing fiscal period, a new fiscal period for that year is created automatically. The logic will be implemented in a way that can be easily expanded in the future to handle more complex requirements, such as custom fiscal periods.
Benefits:

Simple and quick to implement for the current issue within CashCtrlLedger.
Allows the system to function without requiring the user to manually create fiscal periods.
Can be expanded in the future to handle more complex fiscal period requirements without a complete redesign.
The design is aligned with the current DataFrame-based architecture and easy to replace later with accessor/mutator methods if needed.

Pitfalls:

Users won’t be able to create custom fiscal periods through the terminal or API, relying on the GUI for this functionality.
Although the logic is expandable, the initial implementation may not cover more advanced scenarios, such as fiscal periods spanning multiple years or custom periods.

Chosen Solution: Option 3 (Implement Logic for Current Needs with Expandability)
Why Chosen:

The fiscal period issue is specific to CashCtrlLedger, and the overall project goals didn’t initially include handling fiscal periods as a core entity. Therefore, focusing on solving the problem at hand with future expandability in mind is the most pragmatic choice.
Option 3 allows for a quick, effective solution that ensures ledger entries can be created and updated without fiscal period errors, while keeping the code flexible for future updates.
This approach ensures that the code aligns with the current DataFrame-based architecture and doesn’t introduce unnecessary complexity at this stage.
Although custom fiscal period creation through the terminal isn’t immediately possible, this feature can be added in the future without a complete overhaul of the design.

Practical Solution Implementation
1. cashctrl_api Package - Getter for Fiscal Periods (with Caching)
We’ll implement a caching mechanism to efficiently retrieve fiscal periods from CashCtrl, returning the result as a DataFrame. This reduces redundant API calls, especially when handling multiple ledger entries.
Code for cashctrl_api Package:
def list_fiscal_periods(self) -> pd.DataFrame:
    """Lists fiscal periods from the CashCtrl API, with caching to reduce redundant API calls.

    Returns:
        pd.DataFrame: A DataFrame with fiscal periods.
    """
    if self._fiscal_period_cache is None or self._is_expired(self._fiscal_period_cache_time):
        # Fetch the fiscal periods from the API if cache is expired or doesn't exist
        fiscal_periods = pd.DataFrame(self.get("fiscalperiod/list.json")["data"])
        self._fiscal_period_cache = fiscal_periods
        self._fiscal_period_cache_time = datetime.now()

    return self._fiscal_period_cache

Caching: Ensures that the fiscal periods are cached and invalidated after a set timeout to minimize redundant API calls.
Retrieval: Calls the CashCtrl API only when the cache is expired or does not exist and returns a DataFrame.

2. CashCtrlLedger Package - Ensuring Fiscal Period Exists
We’ll define a method in CashCtrlLedger that checks whether a fiscal period exists for a given ledger entry date. If the entry date falls outside the existing fiscal periods, a new fiscal period is created. This method will be called inside the add_ledger_entry and update_ledger_entry methods.
Code for CashCtrlLedger:
class CashCtrlLedger:

    def __init__(self, client):
        self._client = client

    def ensure_fiscal_period_exists(self, entry_date: pd.Timestamp) -> None:
        """Ensure that a fiscal period exists for the given entry date.

        Args:
            entry_date (pd.Timestamp): The date of the ledger entry.
        """
        fiscal_periods = self._client.list_fiscal_periods()

        # Check if the entry date falls within any existing fiscal period
        fiscal_period_exists = any(
            pd.Timestamp(period["start"]) <= entry_date <= pd.Timestamp(period["end"])
            for _, period in fiscal_periods.iterrows()
        )

        if not fiscal_period_exists:
            # Create a new fiscal period for the year of the entry date
        fiscal_period_data = {
            "isCustom": True,
            "start": f"{entry_date.year}-01-01",
            "end": f"{entry_date.year}-12-31",
            "name": f"{entry_date.year}",  # Following CashCtrl naming convention
        }
        self._client.post("fiscalperiod/create.json", data=fiscal_period_data)
        self._client.invalidate_fiscal_period_cache()  # Invalidate cache after creation

    def add_ledger_entry(self, entry: pd.DataFrame) -> str:
        """Add a new ledger entry, ensuring the fiscal period exists.

        Args:
            entry (pd.DataFrame): The ledger entry DataFrame.

        Returns:
            str: The ID of the created ledger entry.
        """
        entry_date = pd.Timestamp(entry["date"].iloc[0])  # Assuming single-row DataFrame

        # Ensure that the fiscal period exists for the entry date
        self.ensure_fiscal_period_exists(entry_date)

        # Proceed with adding the ledger entry (existing logic)
        payload = self._map_ledger_entry(entry)
        res = self._client.post("journal/create.json", data=payload)
        self._client.invalidate_journal_cache()
        return str(res["insertId"])

    def update_ledger_entry(self, entry: pd.DataFrame) -> None:
        """Update a ledger entry, ensuring the fiscal period exists.

        Args:
            entry (pd.DataFrame): The ledger entry DataFrame.
        """
        entry_date = pd.Timestamp(entry["date"].iloc[0])  # Assuming single-row DataFrame

        # Ensure that the fiscal period exists for the updated entry date
        self.ensure_fiscal_period_exists(entry_date)

        # Proceed with updating the ledger entry (existing logic)
        payload = self._map_ledger_entry(entry)
        self._client.post("journal/update.json", data=payload)

ensure_fiscal_period_exists: This method checks if the fiscal period exists for the entry date. If not, it creates a new fiscal period for that year.
Integration: The method is called inside add_ledger_entry and update_ledger_entry to ensure the correct fiscal period is in place before adding or updating ledger entries.

Summary:

Chosen Solution (Option 3): Implement logic for current needs, with expandability for future custom fiscal period handling.
cashctrl_api Package: Implemented the list_fiscal_periods method with caching to reduce redundant API calls, returning a DataFrame.
CashCtrlLedger Package: Implemented the logic to ensure fiscal periods exist when adding or updating ledger entries, with room for future expansion to handle custom fiscal periods.
Future Consideration: The perfect solution (Option 1) can be implemented after the project completion or integrated within the project timeline if there is enough time. This would involve abstracting fiscal period logic to pyledger and implementing a more modular and reusable structure across ledger implementations.

Implemented in PR #92

repo: macxred/pyledger


text:
Is it possible to plot  with 60GB tmpfs (tmpdir2) by descrease the number of bucket?

Or modify other options  ?

You can plot with 60GB, you just can't use ramdisk/tmpfs. You can only use tmpfs if you have 128GB.

Nope...

Thanks  @VertiHydro  @madMAx43v3r

authors: VertiHydro madMAx43v3r navyfeng


text:
change background color of ActionBar to primaryColor

It is possible to change the background color of the ActionBar to "primaryColor"?

nevermind :)
@Override
public void afterInit(Bundle savedInstanceState) {
    android.support.v7.app.ActionBar actionBar = this.getSupportActionBar();
    actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FF33B5E5")));

FYI: if you change the fragment, the action color will be reset
After added your menu entries in init(); add this to your code:
    drawer.setSectionChangeListener(new MaterialSectionChangeListener() {
        @Override
        public void onBeforeChangeSection(MaterialItemSection newSection) {

        }

        @Override
        public void onAfterChangeSection(MaterialItemSection newSection) {
            afterInit(savedInstanceState);
        }
    });


text:
776/refactor controller layer

https://team-1617704806227.atlassian.net/browse/MIP-776

@jassak The drop_na and the check_min_rows parameters that are used in the datamodel views creation will always be taken from the algorithm, never from a transformer?

this is a good point...

@jassak The drop_na and the check_min_rows parameters that are used in the datamodel views creation will always be taken from the algorithm, never from a transformer?

I fail to see how this is relevant here. Could you enlighten me?
To answer however. drop_na and check_min_rows in this project are here to serve some very MIP specific needs: the fact that descriptive statistics needs to inform the user about the missing data and the fact that histograms needs to always show something, even when the amount of data is low. They would probably never arise in another situation in the near future.
In light of the above, these two parameters are algorithm level policies and do not relate to transformers, as transformers are just steps that happen before an algorithm.
However, I think the correct way to see the whole thing is that these parameters belong to some step that happens before an algorithm or a pipeline runs. There could be a class AlgorithmDataReader (or some better name) which creates the data table objects passed to algorithms. Then, drop_na, check_min_rows and variable_groups are implemented in this object.
The huge pain in the ass remains though. How does the algorithm developer defines these values? I don't have a good answer...

authors: apmariglis jassak

repo: madgik/MIP-Engine


text:
🛑 Tor Proxy is down

In 9254a7a, Tor Proxy (oracle) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Tor Proxy is back up in 5fee755.

repo: madhogs/upptime


text:
R28.1: Wayland/weston

With L4T R28.1, NVIDIA provides experimental support for Wayland.  Need to investigate that and see if it can be integrated.

Hi,
Thanks for your excellent efforts with this layer. We're also very interested in getting Wayland support on the TX2. We've compiled Weston 3.0.0 with some patches1 from NVIDIA for enabling EGLStream, EGLOutput and EGLDevice (as far as I can tell, this should enable EGLStream usage rather than the traditional Weston GBM).
Weston and libwayland seems to run OK (as in, I get console output when I execute weston) when applied on top of this layer, but I think we're missing driver support for DRM. Do you have any input on what might be needed to enable DRM on the TX2 for the drm-backend.so to work in Weston?
I noticed that the kernel sources from NVIDIA2 seem to include GPU drivers (kernel/nvgpu/drivers/gpu/nvgpu/) - perhaps the correct driver, paired with NVIDIA libdrm should be enough?
I will be able to devote some time to working on this, and will of course upstream any successful results.

That would be great, thanks... and thanks for the point to those patches.  I don't know whether NV will support using the DRM backend.  If you want to use it, you'll probably need to use the libdrm.so they provide in the drivers kit.  For R24.1 and R27.1, I omit those from the build altogether; for R28.1 I'm renaming that library to libdrm-tegra.so so it can be installed without interfering with the open-source version of the library.  Unforutnately, the Tegra version appears to implement an older (or modified) version of the libdrm API that doesn't have all the functions expected by current client code.
That's about as far as I got in my investigation.  Any help would be much appreciated.

Hi,
I have made some progress on this.
Basically, I have managed to run QtWayland, which has built-in support for EGLStreams. There really wasn't much to tweak with QtWayland, it mostly worked out of the box as long as I set the correct "platform integration" for the eglfs plugin. I used the following command to start my compositor:
QT_QPA_EGLFS_INTEGRATION=eglfs_kms_egldevice XDG_RUNTIME_DIR=/tmp qmlscene /tmp/main.qml -platform eglfs
And the following to start a client (file selector box from qmlscene):
XDG_RUNTIME_DIR=/tmp qmlscene -platform wayland
For reference, I am using this as my compositor application:
https://github.com/qt/qtwayland/blob/5.9/examples/wayland/minimal-qml/main.qml
I am, as you suggested, using libdrm-tegra.so (I simply moved it to /usr/lib/libdrm.so.2). It looks to me like we need a way to let the user of meta-tegra select which libdrm to use, since the mesa libdrm will not work with Wayland. Do you have any suggestion on how to do this?
Perhaps we should create a new recipe for the nvidia libdrm, and make this provide libdrm, so that the user can set the PREFERRED_PROVIDER to the correct drm implementation?
I have a colleague who already started looking at separating libdrm to its own recipe here: https://github.com/BassemMohsen/meta-tegra/commit/1a6473ebaca108b194eb1c04c49c61103a2de6c0#diff-b9ebf6ac291728b67ad7ae2257e56572 <- What do you think about this approach?
Also, if we start by separating libdrm to its own recipe, maybe we should split the other libraries in tegra-libraries to their own recipes as well?
Again, I am willing to do this work.
Also, final note. We spent quite some time on Weston 3.0.0 with the NVIDIA patches mentioned above, and we couldn't really get it working, so we gave up on this track.

That's great progress!
On separating out the various libraries and drivers: I did try that initially, but it is difficult, if not impossible, to know exactly what dependencies there are between the libraries that NVIDIA packages together.  So I left them bundled together by default, then carved out separate packages to handle specific cases where that separation was required.
Rather than extracting their libdrm and related files from the L4T package and checking those files into the layer, we should be able to use the update-alternatives mechanism to supply their libdrm as a replacement.
Thanks!

Hi,

On separating out the various libraries and drivers: I did try that initially, but it is difficult, if not impossible, to know exactly what dependencies there are between the libraries that NVIDIA packages together. So I left them bundled together by default, then carved out separate packages to handle specific cases where that separation was required.

Alright, this makes sense. We will put our contribution in the same format.

Rather than extracting their libdrm and related files from the L4T package and checking those files into the layer, we should be able to use the update-alternatives mechanism to supply their libdrm as a replacement.

I am not familiar with update-alternatives (other than in Debian) - I will have a look at this. Thanks for the pointer!

With the L4T R28.2 release, I looked into this again.  Weston is still a no-go due to the GBM vs EGLStream conflict, unless we just use the pre-built copy that NVIDIA provides, which I'm not crazy about.  A future xserver-xorg release may support EGLStreams for XWayland.  Trying to apply those patches (which are only still proposed and not yet in the xserver code base) on the existing 1.19 xserver code turned into a rat's nest, so we'll just have to wait.

authors: jonte madisongh

repo: madisongh/meta-tegra


text:
Support multi-byte newlines

Right now there is no way to support Windows style line endings because newline is treated as only a single character.

this already supports windows newlines. did that not work for you?

@mafintosh Unfortunately I have a file with a non-standard newline sequence. Specifically: \r\r\n.
I ended up having to set my newline character as \n and manually trim the remaining \r\r off the end of the last column of each line.
I know it is a bit of strange use case. And unfortunately in this case I can't go back to the app that created the file and ask them to change it. But it would be great if the parser code was generic enough to handle it.

@mafintosh I updated my comment. I said "Windows Style" in my origional message but that wasn't accurate.

IMHO this doesn't seems to the feature that csv-parser should have.
The smartest solution is:

Create a new npm module normalize-newline-stream.
Pipe the CSV data stream to normalize-newline-stream before piping it to csv-parser.

The newline option should support this scenario. If it doesn't work properly, please let us know.

authors: andrewcurioso mafintosh shellscape shinnn

repo: mafintosh/csv-parser


text:
Consider switching to promise based API

Since promises is being embraced more and more in the Node.js community, I would just like to see if there is any interest in releasing a new major version of this module which returns a Promise instead of taking a callback. I personally would find this very convenient since I'm currently "promisifying" this library before I use it. This would also solve #9 in the same go...
I'd be happy to submit a pull request, thanks for the consideration 👌

Thanks for the offer but I prefer the callback API for a variety of reasons.

A very common pattern: if a callback is provided it use it, if not it return a promise.
Having the ability to have promise will be very usefull, currently I'm using:
await new Promise((resolve, reject) => {
  pump(...streams, (err) => {
    if (err) return reject(err);
    resolve();
  });
});

Promise support can be done out of the box using Node.js built-in:
const { promisify } = require('util')
const pump = promisify(require('pump'))

// later
await pump(got.stream(url, opts), fs.createWriteStream(tmpPath))

authors: Kikobeats LinusU hlehmann mafintosh

repo: mafintosh/pump


text:
Check commands for compatibility before using them

AMAX panels don't support Request output text and more strangely, they don't support alarm memory summary CF01 but do support CF02.

Is there a more pythonic way to write these sections?
 if bitmask[7] & 0x08:
      self._area_text_supported_format = 3
 elif bitmask[7] & 0x20:
      self._area_text_supported_format = 1

Thank you!


text:
bug: nightly builds broken

See https://github.com/mage-os/generate-mirror-repo-js/actions/runs/10160780327/job/28097837609#step:8:113
/home/runner/work/generate-mirror-repo-js/generate-mirror-repo-js/src/release-branch-build-tools.js:104
    throw Error(`Unable to determine branch release version for input version "${version}"`)
          ^

Error: Unable to determine branch release version for input version "main"
    at calcNightlyBuildPackageBaseVersion (/home/runner/work/generate-mirror-repo-js/generate-mirror-repo-js/src/release-branch-build-tools.js:[104](https://github.com/mage-os/generate-mirror-repo-js/actions/runs/10160780327/job/28097837609#step:8:105):11)
    at transformVersionsToNightlyBuildVersion (/home/runner/work/generate-mirror-repo-js/generate-mirror-repo-js/src/release-branch-build-tools.js:99:29)
    at /home/runner/work/generate-mirror-repo-js/generate-mirror-repo-js/src/release-branch-build-tools.js:93:20
    at Array.reduce (<anonymous>)
    at transformVersionsToNightlyBuildVersions (/home/runner/work/generate-mirror-repo-js/generate-mirror-repo-js/src/release-branch-build-tools.js:92:43)
    at getPackageVersionsForBuildInstructions (/home/runner/work/generate-mirror-repo-js/generate-mirror-repo-js/src/release-branch-build-tools.js:80:10)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async processBuildInstructions (/home/runner/work/generate-mirror-repo-js/generate-mirror-repo-js/src/release-branch-build-tools.js:179:27)
Error: Process completed with exit code 1.

This appears to be happening because module commerce-data-export has no tags upstream:
Basing https://github.com/mage-os/mirror-commerce-data-export.git package versions on those from reference main
Inspecting Commerce Data Export Packages
Inspecting Commerce Data Export Metapackage

The change I made in https://github.com/mage-os/generate-mirror-repo-js/pull/165/files didn't help -- just shifted the error to a different code point. I don't understand the nightly build process well enough yet to know how it previously worked without tags. There are references to fallbackVersion for nightly builds, but the errors happen prior to that code point.
Possibly a regression in https://github.com/mage-os/generate-mirror-repo-js/pull/110 but I haven't pinpointed what/how.

It worked once upon a time; was discussed on Discord 2022-10-04: https://discordapp.com/channels/893449664093904936/950670671145467924/1026878893040336938
But frankly I'm not sure if this is worth the effort of fixing. commerce-data-export is a set of Sensei dependency modules that happen to be available to open source but not installed by default. We're not going to get any version or tag data from upstream because it's not a part of the normal Magento Open Source releases.

As far as I understand, commerce-data-export was removed in #172, but now the error is
Run cd satis && bin/satis build /tmp/satis.json ../build && cd -
Scanning packages

In ArtifactRepository.php line 142:

  Failed loading package in ../build/packages/magento/security-package-develo
  p.zip: Invalid version string "develop"

In VersionParser.php line 186:

  Invalid version string "develop"

build [--repository-url REPOSITORY-URL] [--repository-strict] [--no-html-output] [--skip-errors] [--stats] [--minify] [--] [<file> [<output-dir> [<packages>...]]]

I've noticed that, in the "generate the packages for the composer repo" I've notices that there's a reference to "develop":

could it be related?

authors: fballiano rhoerr

repo: mage-os/generate-mirror-repo-js


text:
The PayPal integration is broken again «Missing required field :  SecureTokenHolder  SecureToken»

{
	"Result": {
		"ResponseCode": "1047",
		"ResponseMessage": "Missing required field :  SecureTokenHolder  SecureToken",
		"ResponseTimestamp": "20112017074043",
		"MerchantID": "ANTERIOR001",
		"MerchantTxnID": "1118L752",
		"PaymentID": null,
		"Currency": null,
		"Amount": null,
		"BillCurrency": null,
		"BillAmount": null,
		"CardHolder": null,
		"CardType": null,
		"Custom1": null,
		"Custom2": null,
		"Custom3": null,
		"Custom4": null,
		"Custom5": null
	},
	"ProviderResps": [
		{
			"ProviderName": "AlphaSecure",
			"ProviderOrder": "1",
			"ProviderResponse": null,
			"ProviderReference": null,
			"ResponseCode": "1047",
			"ResponseTimestamp": null
		}
	],
	"Country": {
		"CountryName": null,
		"CountryCode": null
	},
	"MethodResult": {
		"AuthCode": null,
		"CVVResult": null,
		"AVSStreetResult": null,
		"AVSZipResult": null,
		"SecureToken": null,
		"Status": null,
		"AmountReceived": null,
		"RedirectUrl": null,
		"FeeAmount": null,
		"Custom1": null,
		"Custom2": null,
		"Custom3": null,
		"Custom4": null,
		"Custom5": null,
		"ACSUrl": null,
		"PAReq": null
	},
	"ThreeDSecure": {
		"AuthenticationValue": null,
		"AuthenticationStatus": null,
		"Enrolled": null,
		"XID": null,
		"ECI": null,
		"PARes": null,
		"CAVVAlgorithm": null,
		"Custom1": null,
		"Custom2": null,
		"Custom3": null,
		"Custom4": null,
		"Custom5": null
	},
	"TokenResult": {
		"Custom1": null,
		"Custom2": null,
		"Custom3": null,
		"Custom4": null,
		"Custom5": null
	},
	"PaymentInfo": {
		"PaymentBrand": null,
		"PaymentBrandType": null,
		"PaymentBrandCategory": null,
		"PaymentIssuer": null,
		"PaymentIssuerCountry": null,
		"BIN": null
	},
	"FraudResult": {
		"RiskCategory": null,
		"Score": null,
		"Status": null
	},
	"FraudChecks": [],
	"GeoChecks": [],
	"LoyaltyResult": null
}

It is related to #36 (The POLi Payments integration is broken again «Missing required field : SecureTokenHolder SecureToken»).

[AlphaCommerceHub] Why does the ACHSecure Tokenization service («Tokenization Option») break the alternative payment options (POLiPayments and PayPal): «Missing required field : SecureTokenHolder SecureToken»?


text:
Copying /var/www/html from appdata volume fails

I have followed the setup guide using the composer auth method and everything installs and runs great. My problem is that when I attempt to copy the filesystem as described in the README, I get the following:
C:\Users\NathanS\mage2>docker cp 81a:/var/www/html ./
symlink \var\www\.composer C:\Users\NathanS\mage2\html\var\composer_home: A required privilege is not held by the client.

I have tried using the command prompt as well as git-bash (Mingw64) both with the same result. I have tried many different things to bypass this issue but have had no success. I also can't find anybody else talking about this problem.
I am on 64bit Windows 10 Enterprise running as an Administrative user.
What can I do to get this to work?

Seems specific to Windows, so I'll let the community chime in here (I'm mac/linux guy).

Update: I just tried again on a differnt, exactly same steps/commands/setup/user/OS as the first but this time it ran without any issues.

Ok it's possible the container wasn't booted 100% yet or some other system config/version specific error. Thanks for the update.

This isn't closed though, I still need it to work. I can't use the other machine regularly.
I am sure the machine was booted all the way as for versions we can look at that but it seems to me that it is more likely some type of permissions issue or path mapping problem.

You just said it ran without issues your second time. That tells me it's something specific to your environment. Unless you can consistently replicate this on a specific machine with predictable results, I think we should keep this one closed.

I said I ran in on a second computer with no issues. It is 100% consistent on my primary workstation.

That's fine, but we can't just have a report here that says "didnt work". Need environment, steps to replicate, confirmation by at least a 2nd user, etc...

Here is a list of my version information:

Software
Version

Docker
1.12.5, build 7392c3b

docker-compose
1.9.0, build 2585387

docker-machine
0.8.2, build e18a919

Virtualbox
5.1.10 r112026 (Qt5.6.2)

Windows 10
64bit Enterprise

Boot2Docker
1.12.5, build fc49b1e

mageinferno/magento2-nginx
1.11-0

mageinferno/magento2-php
7.0-fpm-0

tianon/true
latest (f63a935f4203)

percona
5.7

I am running as an Administrative user with full permissions for my installation folder.
I followed the steps exactly using the composer Magento marketplace authentication method from here: https://github.com/mageinferno/magento2-docker-compose/blob/2e154f67abda9c95b1227bed6999d6c6f15f4ecf/README.md
The step that failed was when I was running the docker cp CONTAINERID:/var/www/html ./ command. (I had replaced CONTAINERID with the actual container ID, of course).
If I skipped that step and proceeded, I had a successful install with everything working as it should.

Are you sure the volume was not mounted to the host already when you ran this command?

I made a 3:38 video of my entire process. The docker cp is at 1:03.
https://youtu.be/HdO609BSDHE

@nathanjosiah you're copying from the data volume container. copy from the php one. you can't copy from appdata because it's just a scratch volume.

@markoshust Following the video I provided (after docker-compose up app) I attempted the docker cp using the phpfpm containerand received the same error but with a different file.

If I attempt the command before the docker-compose up app the result is the same.

Hi @nathanjosiah.
I'm having the same issue, after installing using the composer method on a Windows machine.
Do you find a solution?

@pedromtalavera I only found the workaround that I described in one of my previous comments. If I skip the step and don't use a shared volume it runs fine. However, then I can't actually perform any development so it isn't really a viable workaround.
@markoshust needed a second user to verify the problem before looking into it so now he has one.

thanks for the update. i actually do not intend to look into this, as i don't have a windows machine.
i don't think there is an actual issue of anything specific relating to this docker image. there is nothing weird going on with these docker containers regarding filesystem permissions, so i think this would fall back to a general windows + docker issue. that said, i'll reopen this ticket for windows people to work it out as it seems it could be a fairly common problem that might hold up some devs.
here's a couple links to look into:
https://appuals.com/a-required-privilege-is-not-held-by-the-client-0x80070522/
https://github.com/moby/moby/pull/28923
this looks specific to symbolic links on windows. did you try the docker cp command with -L?
https://docs.docker.com/engine/reference/commandline/cp/#extended-description
docker cp -L CONTAINERID:/var/www/html ./
if that works, i'd probably suggest updating the readme. lmk!

Closing to inactivity

Sorry for the delayed response @markoshust. I am still seeing the issue and the links did not provide any new info unfortunately.
As a side note, trying this again from scratch using the master branch produces new issues as the README is out of sync with the docker-compose file so the instructions can't be followed exactly.

Hi @nathanjosiah and @markoshust  sorry for the delay.
It work for me after open a new cmd with "Run as administrator" and then running
docker cp -L CONTAINERID:/var/www/html ./
I hope this helps you.

Hi @nathanjosiah and @markoshust sorry for the delay.
It work for me after open a new cmd with "Run as administrator" and then running
docker cp -L CONTAINERID:/var/www/html ./
I hope this helps you.

thanks

authors: edocollado markoshust nathanjosiah pedromtalavera


text:
Cannot build emacsql sqlite binary with gcc

I was not able to build sqlite binary with gcc as the compiler, see my issue for org-roam, and after I switched to clang, it seems to be fine. Is it expected behaviour?

The "internal compiler error: Segmentation fault" is GCC crashing while
compiling SQLite. This is very unexpected. Either your distribution has
given you a broken compiler or you've got some kind of local hardware
issue (bad memory, bad hard drive, etc.) that has perhaps corrupted your
local GCC installation.

The "internal compiler error: Segmentation fault" is GCC crashing while compiling SQLite. This is very unexpected. Either your distribution has given you a broken compiler or you've got some kind of local hardware issue (bad memory, bad hard drive, etc.) that has perhaps corrupted your local GCC installation.

I am on Debian sid with build-essential which includes gcc freshly installed, and actually I have tried to remove and reinstall gcc for several times, which seems to be of no use.

This works fine for me:
FROM debian:sid-slim
RUN apt-get update && apt-get install --yes build-essential emacs-nox git
RUN git clone https://github.com/cbbrowne/pg.el pg
RUN git clone https://github.com/skeeto/emacsql
WORKDIR emacsql
CMD make check

docker build -t emacsql-test .
docker run --rm emacsql-test

Which indicates that its definitely some local installation issue. Perhaps one of GCC's dependencies — e.g. libgmp10, libisl23, libmpc3, libmpfr6 (all: dpkg -s gcc-10 | grep Depends) — are corrupted?

Thank you for your reply, as I have already compiled binary with clang, I am not able to reproduce it, would you please tell me how to delete the compiled emacsql file so that I may reproduce it?

please tell me how to delete the compiled emacsql file

Use rm sqlite/emacsql-sqlite.
I am closing this because I trust Christopher's conclusion that this is a local issue.

authors: skeeto tarsius wang1zhen

repo: magit/emacsql

license: Unlicense


text:
Different login behavior on iOS 9 and iOS 8

For the same build, for iOS 9 the Facebook login would open a browser and let user enter the email and password. However on iOS 8 it just opens my Facebook app and reads some info and login directly. Wondering why is it different and is there a way I can open an app instead of opening a browser on iOS 9?
p.s: I have my Facebook app installed on both devices.

this happens even when you specify the login behaviour?

ya even if I specify loginBehavior ={FBLoginManager.LoginBehaviors.Native} It still opens a browser.

interesting, I've never actually used the IOS side so I wouldn't be able to help.. just letting you confirm some more context. @magus or someone in the community could be better help

btw the iOS SDK is 4.13.1. don't know if that matters though.

maybe, it does sound sdk/platform related .. you can prob try different versions to debug

https://developers.facebook.com/bugs/786729821439894/?search_id
it appears this behavior on iOS 9 is by design... this just don't make sense..

interesting stuff
closing due to issue being out of scope

repo: magus/react-native-facebook-login


text:
Makes Connection orderable

r? @vinipsmaker
(maidsafe_highfive has picked a reviewer for you, use r? to override)

authors: inetic maidsafe-highfive

repo: maidsafe/crust


text:
Power BI tasks are not available except Power BI Action: Publish

After installing the extension, while creating the pipeline the powerBI action tasks are not available except for Power BI Action: Publish

Hi @krishna914556: There should be an action dropdown within the extension where you can change the action it performs.

Thanks a lot ! much appreciated

repo: maikvandergaag/msft-extensions


text:
Evaluate Traefik (NginX Replacement)

Træfɪk is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. It supports several backends (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest API, file...) to manage its configuration automatically and dynamically.
http://blog.hypriot.com/post/microservices-bliss-with-docker-and-traefik/
https://docs.traefik.io/
https://github.com/containous/traefik

@nmarcetic any thoughts?

@darkodraskovic Idea is awesome and its made with go ;) Its still young project and I am really skeptic.
Nginx is really big name and I am happy with it.
We should definitely stay tuned and follow the project, maybe even try to make a POC later and compare results, do benchmark. I really like  dynamic idea :)

@nmarcetic I think general flow should be TDD oriented:

Write tests
Implement (PoC in this case)
If it pass you are OK

I.e. if Traefik passes our tests (and requirements) we're good to go, no matter the project maturity.
I am not against NginX, but from what I have been reading for MQTT people usually falled back to Haproxy (because DNS/IP load-balancing and some other stuff).
Since we are Go and Docker oriented we must take some risks and best bets on modern technology ;).
BTW: this Cisco project: http://mantl.io/ is using Traefik. This is enough for me to believe it is production-ready.
Looking at the same project here: https://github.com/CiscoCloud/mantl#core-components, it is pretty close to the DevOps stack we had in mind (maybe overkill, but not so far away).

@mijicd @nmarcetic I think before proceeding with mainflux-devops we should seriously evaluate Cisco Mantl: http://mantl.io/
It uses bunch of technologies we wanted to use anyway - Traefik, Kubernetes, Vault and Ansible.
It also adds UI to handle the deployments.
@mijicd I can see here: http://mantl.io/technologies that it has a support from Elastic Search also, as an add-on.

@mijicd if you are OK with Mantl, ad us a few comments - what are your findings so far? What about Traefik? What about Elastic Search add-on (and adding add-ons in general with Mantl)?

Some facts:

Mantl is consisted of top notch tools, with each of them exposing a simple yet powerful management UI.
ELK stack is one of the available add-ons, as you said. I'm still investigating the way they're intended to be used. We should not have any problems with it, since we have a safe fallback in deploying each piece of ELK as a separate container in case that anything goes wrong with add-on setup.
Traefik is already a part of Mantl, so it is pretty clear that by choosing Mantl we're going to choose Traefik as well. It is performant, quite simple to configure, and it is written in golang :)

Cool. We have enough data to ACK Mantl and Traefil. I will close the issue.

Hi,
I have an existing traefik ingress controller servicing other parts of the cluster. Would it be especially difficult to point it at mainflux?
Can it replace nginx? Or should I point it to the mainflux nginx?  I am unsure if you use nginx in any ways which is special enough to make removing or replacing it difficult.
Thanks

It should be relatively easy to replace NginX Ingress - Traefik should be capable to replace it.
Please try it and let us know about the progress.

Thanks.  I have 4 hours experience with mainflux on kubernetes, and less than a day with Traefik on kubernetes.  Working on migrating (many) docker/compose deployments to k8s.
I probably need more than "it should be relatively easy", but so far nginx and traefik are co-existing, and I seem to be able to have traefik handle the ssl certs, and forward connections to nginx for mainflux... (at least for the GUI).
However I'm sure there will be plenty of breakage...

authors: drasko mijicd nmarcetic systemmonkey42

repo: mainflux/mainflux


text:
NOISSUE - Change import name aliases

Pull request title should be MF-XXX - description or NOISSUE - description where XXX is ID of issue that this PR relate to.
Please review the CONTRIBUTING.md file for detailed contributing guidelines.
What does this do?
Currently, in main.go files we have Go package import aliases that are not according to Go recommended practices. This PR changes the aliases of the imports to correspond to go's recommended practices.
Which issue(s) does this PR fix/relate to?
No issue
List any changes that modify/break current functionality
N/A
Have you included tests for your changes?
N/A
Did you document any new/modified functionality?
Notes

Check for instances where an alias is used but not required and rebase branch to sync with master

Did you check this? For example in bootstrap/postgres/setup_test.go you don't need dockertest "github.com/ory/dockertest/v3" as the package name is dockertest also in cli/utils.go

@arvindh123 , I have addressed the commenrts

https://github.com/mainflux/mainflux/blob/2b78902e01709e4eaac0ae9a1e61e6bfafcb38f7/cmd/users/main.go#L48C1-L48C1

https://github.com/mainflux/mainflux/blob/2b78902e01709e4eaac0ae9a1e61e6bfafcb38f7/consumers/writers/cassandra/consumer_test.go#L14

Is the underscore in these necessary: https://github.com/mainflux/mainflux/blob/2b78902e01709e4eaac0ae9a1e61e6bfafcb38f7/pkg/messaging/mqtt/pubsub_test.go#L15 https://github.com/mainflux/mainflux/blob/2b78902e01709e4eaac0ae9a1e61e6bfafcb38f7/pkg/messaging/mqtt/setup_test.go#L18

These aliases are not necessary: https://github.com/mainflux/mainflux/blob/2b78902e01709e4eaac0ae9a1e61e6bfafcb38f7/pkg/messaging/message.pb.go#L13C1-L17C2

These too: https://github.com/mainflux/mainflux/blob/2b78902e01709e4eaac0ae9a1e61e6bfafcb38f7/things/policies/auth.pb.go#L13C1-L16C13 https://github.com/mainflux/mainflux/blob/2b78902e01709e4eaac0ae9a1e61e6bfafcb38f7/things/policies/auth_grpc.pb.go#L13C1-L16C40 https://github.com/mainflux/mainflux/blob/2b78902e01709e4eaac0ae9a1e61e6bfafcb38f7/users/groups/service_test.go#L7C1-L8C11 https://github.com/mainflux/mainflux/blob/2b78902e01709e4eaac0ae9a1e61e6bfafcb38f7/users/policies/auth_grpc.pb.go#L13C1-L16C40
https://github.com/mainflux/mainflux/blob/2b78902e01709e4eaac0ae9a1e61e6bfafcb38f7/users/policies/auth.pb.go#L13C1-L16C13

authors: WashingtonKK ianmuchyri rodneyosodo


text:
Tool calls

Support for function calling has been added to MLX here:
https://github.com/ml-explore/mlx-examples/pull/1003
any idea how we can fetch a tool call in chatLMX?

Tool Call is planned, but it requires modifications to Swift Jinja and Swift Transformers for support, which is a significant amount of work. Due to time constraints, Tool Call may be implemented later.
Contributions via PR are certainly welcome.

authors: alelordelo maiqingqiang

repo: maiqingqiang/ChatMLX


text:
Need help to integration - Awow TH213 thermostat

I need help!
I've been trying for days to integrate an AWOW TH213 thermostat but I'm going crazy! :-)
After entering the intial configuration data, this list of type of device comes out:

How can I bind the entity of the thermostat to the right device template?
Maybe the question is a bit "elementary" but I'm new to HA and this device is the basis of the project I have in mind!
Thanks for your help!
Domenico.

It's possible that there are different variants of this thermostat, or it returns different data depending on what mode it is in.
If you choose one of those options, then cancel at the next step, there should be some Warning messages in the Home Assistant log that will help diagnose the issue.
After that, maybe you can try changing the mode of the thermostat from the control panel, then try again to see if that works.

Below the logs:
Questo errore ha avuto origine da un'integrazione personalizzata.
Logger: custom_components.tuya_local.config_flow
Source: custom_components/tuya_local/config_flow.py:76
Integration: Tuya Local (documentation, issues)
First occurred: 23:22:11 (1 occurrences)
Last logged: 23:22:11
Report this to https://github.com/make-all/tuya-local/issues/
Questo errore ha avuto origine da un'integrazione personalizzata.
Logger: custom_components.tuya_local.config_flow
Source: custom_components/tuya_local/config_flow.py:73
Integration: Tuya Local (documentation, issues)
First occurred: 23:22:11 (1 occurrences)
Last logged: 23:22:11
Device matches andersson_gsh_heater with quality of 42%. DPS: {'1': True, '2': 16, '3': 21, '4': '3', '6': False, '12': 0, '101': 23, '102': '2', '103': 1, '104': 1, '105': False, '116': '1', 'updated_at': 1642803719.9702704}
Ask for any other information :-)
Thanks!

It seems to be a minor variant. The other one had dps 107, 108, 110 the function of which had not been identified which are missing from this one, and this one has dps 116, which is missing from the other.  So functionally, there is no difference, just a difference in the mysterious other data that is being returned which we don't know the purpose of.

now it's work!!! thanks a lot!

authors: dlosito make-all

repo: make-all/tuya-local


text:
[New device] Tesla Aroma Diffuser

Hello! Thank you for your work so far. Please add the Tesla Aroma Diffuser to the integration.
I hope you can find all the information here:
[Aroma Diffuser] 192.168.xx.xxx     - [Off] - DPS: {'1': False, '2': '1', '11': False, '12': 0, '13': '1', '14': 0, '101': '2', '102': 'colour', '103': 'ff00400158ffff', '104': False}
"result": {     "model": "{\"modelId\":\"0000034p26\",\"services\":[{\"actions\":[],\"code\":\"\",\"description\":\"\",\"events\":[],\"name\":\"默认服务\",\"properties\":[{\"abilityId\":1,\"accessMode\":\"rw\",\"code\":\"Power\",\"description\":\"开启/关闭，开启进入待机状态\",\"extensions\":{\"iconName\":\"icon-dp_power\",\"attribute\":\"23\"},\"name\":\"开关\",\"typeSpec\":{\"type\":\"bool\",\"typeDefaultValue\":false}},{\"abilityId\":2,\"accessMode\":\"rw\",\"code\":\"Mode\",\"description\":\"1：连续喷雾；2：间歇喷雾\",\"extensions\":{\"iconName\":\"icon-dp_mode\"},\"name\":\"工作模式\",\"typeSpec\":{\"range\":[\"1\",\"2\"],\"type\":\"enum\",\"typeDefaultValue\":\"1\"}},{\"abilityId\":11,\"accessMode\":\"rw\",\"code\":\"Light\",\"description\":\"开启/关闭\",\"extensions\":{\"iconName\":\"icon-dp_light\"},\"name\":\"灯光\",\"typeSpec\":{\"type\":\"bool\",\"typeDefaultValue\":false}},{\"abilityId\":12,\"accessMode\":\"ro\",\"code\":\"fault\",\"description\":\"缺水保护\",\"extensions\":{\"iconName\":\"icon-dp_warming\",\"scope\":\"fault\"},\"name\":\"故障告警\",\"typeSpec\":{\"label\":[\"1\"],\"maxlen\":1,\"type\":\"bitmap\",\"typeDefaultValue\":0}},{\"abilityId\":13,\"accessMode\":\"rw\",\"code\":\"countdown\",\"description\":\"0:取消；1：1小时;2：3小时；3：5小时；可根据产品实际功能进行设置。\",\"extensions\":{\"iconName\":\"icon-dp_time2\"},\"name\":\"倒计时\",\"typeSpec\":{\"range\":[\"0\",\"1\",\"2\",\"3\"],\"type\":\"enum\",\"typeDefaultValue\":\"0\"}},{\"abilityId\":14,\"accessMode\":\"ro\",\"code\":\"countdown_left\",\"description\":\"mcu每分钟上报\",\"extensions\":{\"iconName\":\"icon-dp_time\"},\"name\":\"倒计时剩余时间\",\"typeSpec\":{\"max\":360,\"min\":0,\"scale\":0,\"step\":1,\"type\":\"value\",\"typeDefaultValue\":0,\"unit\":\"分钟\"}},{\"abilityId\":101,\"accessMode\":\"rw\",\"code\":\"lightmode\",\"description\":\"1：七彩渐变;2:选色\",\"name\":\"灯光模式\",\"typeSpec\":{\"range\":[\"1\",\"2\"],\"type\":\"enum\",\"typeDefaultValue\":\"1\"}},{\"abilityId\":102,\"accessMode\":\"rw\",\"code\":\"work_mode\",\"description\":\"\",\"name\":\"灯光模式\",\"typeSpec\":{\"range\":[\"white\",\"colour\",\"scene\",\"scene_1\",\"scene_2\",\"scene_3\",\"scene_4\"],\"type\":\"enum\",\"typeDefaultValue\":\"white\"}},{\"abilityId\":103,\"accessMode\":\"rw\",\"code\":\"colour_data\",\"description\":\"Value: ”00112233334455”（长度为 14 的字符串） 00: R 11: G 22: B 3333: H(色调 Hue) 44: S(饱和度 Saturation) 55: V(明度 Value) 示例： {\\\"2700000000ff27\\\"}    指定16种颜色\",\"name\":\"彩光值\",\"typeSpec\":{\"maxlen\":255,\"type\":\"string\",\"typeDefaultValue\":\"\"}},{\"abilityId\":104,\"accessMode\":\"rw\",\"code\":\"spray\",\"description\":\"开启/关闭\",\"name\":\"喷雾开关\",\"typeSpec\":{\"type\":\"bool\",\"typeDefaultValue\":false}}]}]}"   }

The product_id can be found under Device Management / Query Device Details in API Explorer on iot.tuya.com

The product_id can be found under Device Management / Query Device Details in API Explorer on iot.tuya.com

{   "result": {     "active_time": 1702415402,     "category": "jsq",     "create_time": 1649159575,     "custom_name": "Aroma Diffuser",     "icon": "smart/icon/bay1584694222677qRhW/1cccdde566a391e5651856297879ef38.png",     "id": "xxx",     "ip": "xxx",     "is_online": true,     "lat": "xxx",     "local_key": "xxx",     "lon": "18.2200",     "model": "TSL-AC-JS01W",     "name": "Tesla Smart Aroma Diffuser",     "product_id": "izm17rnzcc2akjis",     "product_name": "Tesla Smart Aroma Diffuser",     "sub": false,     "time_zone": "+01:00",     "update_time": xxx,     "uuid": "xxx"   }

Hi! Thank you for your work!
I tried to add it, but it doesn't quite work. It only recognizes 3.3 protocol - TuyaLocal 2024.1.0.
I can choose from the following (image).
Unfortunately I get 1-1 entity, usually a switch:

light switch: turns on the light and the device starts (light control works, but I can't turn off the light and the device separately)
or
single switch: turns on the light and the device starts

Am I doing it wrong?

You logs at the top are not in the format that this integration uses, so maybe they are not truly based off what the device sends for its initial data request.  Or maybe the result depends on device settings.  Whenever you want to report some issue, I really need the device logs (especially initial connection issues) or diagnostics (if the device is already connected, but not working correctly).

Also, you specified "TuyaLocal 2024.1.0", but this change was not in that release.  This issue is tagged "unreleased", which means to use it you will have to install from the main branch, not a release tag (it is possible from the "Redownload" menu of HACS to select "main", but you will have to ignore the prompts to upgrade to release 2024.1.0 until 2024.1.1 is available).

`Logger: custom_components.tuya_local.config_flow
Source: custom_components/tuya_local/config_flow.py:97
Integration: Tuya Local (documentation, issues)
First occurred: 07:41:51 (1 occurrences)
Last logged: 07:41:51
Device matches cc_curtain with quality of 20%. DPS: {"updated_at": 1706164910.3156176, "1": false, "2": "1", "11": false, "12": 0, "13": "1", "14": 0, "101": "2", "102": "colour", "103": "ff00400158ffff", "104": false}`

Ohhh thanks for the help. It was indeed my mistake.
I confirm that the device is working properly.
Only observation is that the "Fault" sensor indicates "Out of water".
Thanks again. I will test the other devices soon.

authors: fantnhu make-all


text:
"Auto" IP address setting results in a sleep on the event loop thread

Describe the bug
When IP address is set to "Auto", the tinytuya library does device discovery in background, and sleeps until the result comes back.
Since tinytuya is not async  this sleep blocks the event loop.
To Reproduce

Add a new device, setting the IP address to "Auto".
Look in the log for HA complaining that this integration is blocking the event loop by doing a sleep.

Expected behavior
Ideally we should be a good HA citizen and not block other integrations or HA core from running.
Additional context
Logger: homeassistant.util.async_
Source: util/async_.py:182
First occurred: 11:09:29 (2 occurrences)
Last logged: 11:09:54

Detected blocking call to sleep inside the event loop. This is causing stability issues. Please report issue to the custom integration author for tuya_local doing blocking calls at custom_components/tuya_local/device.py, line 69: self._api = tinytuya.Device(dev_id, address, local_key)

Looks like a good way to reproduce this is to set up a device, make sure it works, and then turn it off. My HA appears to become completely unresponsive every minute or so while the "sleep" is taking place (disabling the integration for that device resolves the issue)

authors: Vitani make-all


text:
Provide a way to explicitly set the Telepresence remote service port

In some of our services, we've starting having multiple ports, and Telepresence does not always try to intercept the expected port. It would be nice to be able to specify the remote port (or port name) via a Makefile/environment variable (perhaps TELEPRESENCE_SERVICE_REMOTE_PORT).
Usage would look like this:
make intercept                                                # intercepts default remote port
TELEPRESENCE_SERVICE_REMOTE_PORT=observability make intercept # intercepts custom named remote port

Where the Makefile might have a default port defined:
TELEPRESENCE_SERVICE_REMOTE_PORT := api

I nearly added this the other day, but what would be even better is being able to intercept multiple ports as a single logical operation. It's not currently supported by Telepresence natively, but we could do it in the Makefiles.

Yeah, I suppose for make intercept that could work. Less so for make intercept-run.

authors: ezzatron jmalloc

repo: make-files/makefiles


text:
Add YML serialization/deserialization

Add YML serialization and deserialization functions for the instance model, attack graph, and language graph.
YML is more light weight than JSON and might be easier to write by hand. Also, Akash, who is working on the GUI interface, is already using YML for his interfaces.
We should probably keep the old JSON functions just for backwards compatibility.

The good thing with yaml is that it is a superset of json and you can load a json version of the yaml file without issue with the same code. Adding support for Literal values (from the json schema objects module) to the default dumper is enough to have serialization/deserialization support:
https://github.com/mal-lang/mal-toolbox/blob/48ef0fed6acf4d30b9ab6300822b788bc8b6cad3/maltoolbox/model.py#L346-L350

authors: andrewbwm nkakouros

repo: mal-lang/mal-toolbox


text:
Path is Not Accurate (Much like displacement between two points)

Everything is working fine but path is showing like displacement route. It should looks like the path along with roads but is overlapping the roads and showing displacement.

Tested, it's working fine. I have tested with different scenarios. You were expecting the path through the motorway but unfortunately, Google doesn't provide any clue for the tolls or etc. closing the ticket, please feel free to reach me out through email. thanks!

authors: AonCh malikdawar

repo: malikdawar/drawroute


text:
moving maliput to the root

This is to resolve the references to files that are not in the package that are required as part of the build.
eg: https://build.ros2.org/job/Fbin_uF64__maliput__ubuntu_focal_amd64__binary/1/console

We can't use resources outside of the package when building the package for binaries. To that end instead of moving every resource inside the package. I simply promote the package to the root to avoid the extra directory and having a unary package not at the root.

Related to https://github.com/maliput/maliput_infrastructure/issues/269

I will propagate this change to the other repos

Yeah, I'm trying to get this one through and then we can do another round of cleanups in a similar manner.

authors: francocipollone tfoote

repo: maliput/maliput


text:
Fix/cascader

fix:
修复级联选择options无法设置为空
feat:
文档代码示例添加复制按钮

#742

repo: mallfoundry/taroify


text:
Empty output

hey guys,
I have been trying to use the program and it worked well but when I tried to use it with mine it didn't work. do you know why?
here
here as a png:

Your SVG has a single element, which is an embedded base64-encoded raster image. Raster images are not vector graphics, thus aren't supported. Consider using another image, or using a tool like Inkscape to trace the bitmap (i.e. converting it to a path).

authors: MoaazHudhud maltaisn

repo: maltaisn/svg-equations


text:
Encountered two children with the same key, [object Object]. Keys should be unique so that components maintain their identity across updates.

Warning: Encountered two children with the same key, `key-[object Object]`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.
    in div (created by Scrollbars)
    in div (created by Scrollbars)
    in Scrollbars (at ProgressBar.tsx:98)

My Code:
<div className="col-12 form-progress pt-3 mb-1">
   <Scrollbars className='form-progress__scrollableContent' key={`${props.id}-scrollableContent`}>
      {progressItems.map((itemProps: ProgressBarItemProps, idx: number) => (
          <ProgressBarItem
                 key={`key-${itemProps.name}`}
                 index={idx}
                 clickHandler={handleProgressSidebarClick}
                 name={itemProps.name}
                 status={itemProps.status}
                 arialabelScreenReader={itemProps.arialabelScreenReader}
         />
      ))}
  </Scrollbars>
</div>

Any fix for this

Check the data in progressItems. Are you sure all values of itemProps.name are unique?

Thanks,
I figure out the issue pass props index value is not been used in the item list.

authors: dhyanaswain mohanad-sheikha

repo: malte-wessel/react-custom-scrollbars


text:
Single entry point script

Merge the different task scripts into a single entry point script.
Subtask:

[ ] Single main.py script to run evaluation on different task types
[ ] Multiple tasks can be evaluated at once. Provide a --task_list <task_a>,<task_b>,... argument.
[ ] Each task is only identified with its name without the need for specifying task type, label column etc. Store these information in a separate python file/class as done in https://github.com/OpenGPTX/lm-evaluation-harness/blob/master/lm_eval/tasks/init.py

Example:
python main.py --model MY_NEW_MODEL --task_list ALL

Some feedback:

The main.py is super hacky. Calling other main functions within a main is bad practice.
This seems also hacky https://github.com/malteos/finetune-evaluation-harness/blob/main/tasks/germeval2017.py#L39-L78
Each sub-main has a lot of duplicated code. This makes changing stuff complicated (as you probably saw when adding peft)
Try to remove all duplicated code. There are tools to check this. https://marketplace.visualstudio.com/items?itemName=jianbingfang.dupchecker
PEFT should have its own argument class like https://github.com/malteos/finetune-evaluation-harness/blob/main/hf_scripts/model_args.py
Do not set important hyperparameters somewhere in the middle of the code as in https://github.com/malteos/finetune-evaluation-harness/blob/main/hf_scripts/hgf_fine_tune_class.py#L312-L313 (use arguments instead)
Use class abstraction for tasks https://github.com/malteos/finetune-evaluation-harness/blob/main/tasks/germeval2017.py#L17

TODOs

Refactor the code base
Integrate unit tests. For example with pytest https://docs.pytest.org/en/7.2.x/
Measure test coverage with https://coverage.readthedocs.io/en/latest/ (coverage should be at least +80% better +90%)
Check code formatting/style https://github.com/psf/black https://github.com/PyCQA/pylint
Update the README

Feedback II

README:

Please include more details on the available arguments (maybe just the --help output?)
Please link the datasets to their homepages

main/process_args: No need for two files since main.py is only calling process args

is this necessary? https://github.com/malteos/finetune-evaluation-harness/blob/main/process_args.py#L19-L24 cannot you just include InitialArguments in line 16?
please use the logging classes and not print statements. See https://realpython.com/python-logging/

tests:

for unit tests, you do not need to load actual large models. better create a dummy model that is very tiny so testing does not take too long
the assertion test on the return type = Trainer only tests whether the code runs all the way to the end but does not check if the actual output is correct.
better test on the actual output, e.g., eval score = xy
tests regarding loading the models/configs are unnecessary as they basically replicated HF transformers -> only test for logic that you implemented

repo: malteos/finetune-evaluation-harness


text:
CodedIndex: fix off-by-one during row bounds check

ClrMetaDataTable.row_index is one-indexed so the range check should not decrement the num_rows limit.

The attached .NET module has a single entry in the MemberRef table.
1-hello-world.zip

Thank you!
For anyone coming across this in the future, this and #2 work together to fix the off-by-one bug

authors: malwarefrank williballenthin

repo: malwarefrank/dnfile


text:
Better error messages when fetching repodata

In CI, we encountered issues when installing with pixi.
https://github.com/Quantco/polarify/actions/runs/5716372102/job/15487771846?pr=11
Run pixi add python=3.9 polars=0.17
  pixi add python=3.9 polars=0.17
  pixi install
  pixi run postinstall
  shell: /usr/bin/bash -el {0}

ERROR rattler_repodata_gateway::fetch: error=request or response body error: error reading a body from connection: stream error received: unexpected internal error encountered
error: failed to fetch repodata from channels

Caused by:
    0: request or response body error: error reading a body from connection: stream error received: unexpected internal error encountered
    1: error reading a body from connection: stream error received: unexpected internal error encountered
    2: stream error received: unexpected internal error encountered
Error: Process completed with exit code 1.

It would be nice if the error message also said which request failed for diagnosing the issue.

I actually had the same error today.

https://github.com/Quantco/polarify/actions/runs/7082878943/job/19274333416

repo: mamba-org/rattler


text:
UrlOrPath - store absolute Windows URLs with file:///?

I am looking at some issues we encountered with absolute paths on Windows.
If I use the following in a pixi.toml file:
[pypi-dependencies]
minimal-project = { path = "C:/Users/wolfv/Programs/pixi/examples/pypi-source-deps/minimal-project" }

Then it works once, but upon rechecking fails because it can't find the corresponding package. In the lockfile we find:
      - pypi: C:/Users/wolfv/Programs/pixi/examples/pypi-source-deps/minimal-project

This can be deserialized as a URL, so that's where the failure comes from. We make the distinction for relative paths (because they cannot be stored as file:/// URL. I am wondering if we should deserialize a file:///C:/... URL to Path and fix the problem that way.
Or we don't allow absolute paths.

For the reference, I also tried the following in a pyproject.toml and it gave the same entry in the lockfile.
dependencies = [
    "minimal-project @ file:///C:/Users/wolfv/Programs/pixi/examples/pypi-source-deps/minimal-project",
]

Note that if it is located in the required_dist section it is actually a direct file url. This happens for the transient dependencies.

@tdejager do you have a way to repro that easily?

Only with pixi itself 😀

Sure, but what do I need to tell pixi to reproduce it?!

Also maybe we should normalize the paths in the requirements to be relative as well? If possible... just a thought

Sure, but what do I need to tell pixi to reproduce it?!

If you create a 'pixi.toml' that points to another pyproject.toml (can be relative) which in turn points to another pyproject.toml. Using a 'project @ file:://path' dependency in the pyproject.toml dependeny section not in the 'tool.pixi.*' section.

Also maybe we should normalize the paths in the requirements to be relative as well? If possible... just a thought

Yeah was thinking of maybe converting all paths in the lock into a single format. Though you'll not be able to change the 'requires_dist' type.

authors: tdejager wolfv


text:
Error libmamba Failed to parse URL "@": No host part in the URL on AWS CodeBuild runner

I'm using both Github runners and AWS CodeBuild runners in a repository, configured with the AWS managed Ubuntu image, and the setup-micromamba action with a custom environment file:

environment.yml
name: test-env
channels:
- conda-forge
dependencies:
- _libgcc_mutex=0.1=conda_forge
- _openmp_mutex=4.5=2_gnu
- alembic=1.13.1=pyhd8ed1ab_1
- alsa-lib=1.2.11=hd590300_1
- anyio=4.3.0=pyhd8ed1ab_0
- argon2-cffi=23.1.0=pyhd8ed1ab_0
- argon2-cffi-bindings=21.2.0=py312h98912ed_4
- arrow=1.3.0=pyhd8ed1ab_0
- asttokens=2.4.1=pyhd8ed1ab_0
- async-lru=2.0.4=pyhd8ed1ab_0
- attr=2.5.1=h166bdaf_1
- attrs=23.2.0=pyh71513ae_0
- autoray=0.6.12=pyhd8ed1ab_0
- babel=2.14.0=pyhd8ed1ab_0
- beautifulsoup4=4.12.3=pyha770c72_0
- bleach=6.1.0=pyhd8ed1ab_0
- brotli=1.1.0=hd590300_1
- brotli-bin=1.1.0=hd590300_1
- brotli-python=1.1.0=py312h30efb56_1
- bzip2=1.0.8=hd590300_5
- ca-certificates=2024.2.2=hbcca054_0
- cached-property=1.5.2=hd8ed1ab_1
- cached_property=1.5.2=pyha770c72_1
- cairo=1.18.0=h3faef2a_0
- certifi=2024.2.2=pyhd8ed1ab_0
- cffi=1.16.0=py312hf06ca03_0
- charset-normalizer=3.3.2=pyhd8ed1ab_0
- colorama=0.4.6=pyhd8ed1ab_0
- colorlog=6.8.2=py312h7900ff3_0
- comm=0.2.2=pyhd8ed1ab_0
- contourpy=1.2.1=py312h8572e83_0
- cotengra=0.6.2=pyhd8ed1ab_0
- cuda-nvrtc=12.5.40=he02047a_0
- cuda-version=12.5=hd4f0392_3
- cupy=13.1.0=py312h7b0f9d9_4
- cupy-core=13.1.0=py312hffdfcc6_4
- cycler=0.12.1=pyhd8ed1ab_0
- cytoolz=0.12.3=py312h98912ed_0
- dbus=1.13.6=h5008d03_3
- debugpy=1.8.1=py312h30efb56_0
- decorator=5.1.1=pyhd8ed1ab_0
- defusedxml=0.7.1=pyhd8ed1ab_0
- dill=0.3.8=pyhd8ed1ab_0
- entrypoints=0.4=pyhd8ed1ab_0
- exceptiongroup=1.2.0=pyhd8ed1ab_2
- executing=2.0.1=pyhd8ed1ab_0
- expat=2.6.2=h59595ed_0
- fastrlock=0.8.2=py312h30efb56_2
- font-ttf-dejavu-sans-mono=2.37=hab24e00_0
- font-ttf-inconsolata=3.000=h77eed37_0
- font-ttf-source-code-pro=2.038=h77eed37_0
- font-ttf-ubuntu=0.83=h77eed37_2
- fontconfig=2.14.2=h14ed4e7_0
- fonts-conda-ecosystem=1=0
- fonts-conda-forge=1=0
- fonttools=4.52.1=py312h9a8786e_0
- fqdn=1.5.1=pyhd8ed1ab_0
- freetype=2.12.1=h267a509_2
- gettext=0.22.5=h59595ed_2
- gettext-tools=0.22.5=h59595ed_2
- gf2x=1.3.0=ha476b99_2
- glib=2.80.2=hf974151_0
- glib-tools=2.80.2=hb6ce0ca_0
- gmp=6.3.0=h59595ed_1
- gmpy2=2.1.5=py312h1d5cde6_1
- graphite2=1.3.13=h59595ed_1003
- greenlet=3.0.3=py312h30efb56_0
- gst-plugins-base=1.24.3=h9ad1361_0
- gstreamer=1.24.3=haf2f30d_0
- h11=0.14.0=pyhd8ed1ab_0
- h2=4.1.0=pyhd8ed1ab_0
- harfbuzz=8.5.0=hfac3d4d_0
- hpack=4.0.0=pyh9f0ad1d_0
- httpcore=1.0.5=pyhd8ed1ab_0
- httpx=0.27.0=pyhd8ed1ab_0
- hyperframe=6.0.1=pyhd8ed1ab_0
- icu=73.2=h59595ed_0
- idna=3.7=pyhd8ed1ab_0
- importlib-metadata=7.1.0=pyha770c72_0
- importlib_metadata=7.1.0=hd8ed1ab_0
- importlib_resources=6.4.0=pyhd8ed1ab_0
- iniconfig=2.0.0=pyhd8ed1ab_0
- ipykernel=6.29.3=pyhd33586a_0
- ipython=8.24.0=pyh707e725_0
- ipywidgets=8.1.2=pyhd8ed1ab_1
- isoduration=20.11.0=pyhd8ed1ab_0
- jedi=0.19.1=pyhd8ed1ab_0
- jinja2=3.1.4=pyhd8ed1ab_0
- json5=0.9.25=pyhd8ed1ab_0
- jsonpointer=2.4=py312h7900ff3_3
- jsonschema=4.22.0=pyhd8ed1ab_0
- jsonschema-specifications=2023.12.1=pyhd8ed1ab_0
- jsonschema-with-format-nongpl=4.22.0=pyhd8ed1ab_0
- jupyter=1.0.0=pyhd8ed1ab_10
- jupyter-lsp=2.2.5=pyhd8ed1ab_0
- jupyter_client=8.6.2=pyhd8ed1ab_0
- jupyter_console=6.6.3=pyhd8ed1ab_0
- jupyter_core=5.7.2=py312h7900ff3_0
- jupyter_events=0.10.0=pyhd8ed1ab_0
- jupyter_server=2.14.0=pyhd8ed1ab_0
- jupyter_server_terminals=0.5.3=pyhd8ed1ab_0
- jupyterlab=4.2.1=pyhd8ed1ab_0
- jupyterlab_pygments=0.3.0=pyhd8ed1ab_1
- jupyterlab_server=2.27.2=pyhd8ed1ab_0
- jupyterlab_widgets=3.0.10=pyhd8ed1ab_0
- keyutils=1.6.1=h166bdaf_0
- kiwisolver=1.4.5=py312h8572e83_1
- krb5=1.21.2=h659d440_0
- lame=3.100=h166bdaf_1003
- lcms2=2.16=hb7c19ff_0
- ld_impl_linux-64=2.40=hf3520f5_1
- lerc=4.0.0=h27087fc_0
- libasprintf=0.22.5=h661eb56_2
- libasprintf-devel=0.22.5=h661eb56_2
- libblas=3.9.0=22_linux64_openblas
- libbrotlicommon=1.1.0=hd590300_1
- libbrotlidec=1.1.0=hd590300_1
- libbrotlienc=1.1.0=hd590300_1
- libcap=2.69=h0f662aa_0
- libcblas=3.9.0=22_linux64_openblas
- libclang-cpp15=15.0.7=default_h127d8a8_5
- libclang13=18.1.6=default_h5d6823c_0
- libcublas=12.5.2.13=he02047a_0
- libcufft=11.2.3.18=he02047a_0
- libcups=2.3.3=h4637d8d_4
- libcurand=10.3.6.39=he02047a_0
- libcusolver=11.6.2.40=he02047a_0
- libcusparse=12.4.1.24=he02047a_0
- libdeflate=1.20=hd590300_0
- libedit=3.1.20191231=he28a2e2_2
- libevent=2.1.12=hf998b51_1
- libexpat=2.6.2=h59595ed_0
- libffi=3.4.2=h7f98852_5
- libflac=1.4.3=h59595ed_0
- libflint=2.9.0=h2f819a4_ntl_100
- libgcc-ng=13.2.0=h77fa898_7
- libgcrypt=1.10.3=hd590300_0
- libgettextpo=0.22.5=h59595ed_2
- libgettextpo-devel=0.22.5=h59595ed_2
- libgfortran-ng=13.2.0=h69a702a_7
- libgfortran5=13.2.0=hca663fb_7
- libglib=2.80.2=hf974151_0
- libgomp=13.2.0=h77fa898_7
- libgpg-error=1.49=h4f305b6_0
- libiconv=1.17=hd590300_2
- libjpeg-turbo=3.0.0=hd590300_1
- liblapack=3.9.0=22_linux64_openblas
- libllvm14=14.0.6=hcd5def8_4
- libllvm15=15.0.7=hb3ce162_4
- libllvm18=18.1.6=hb77312f_0
- libnsl=2.0.1=hd590300_0
- libnvjitlink=12.5.40=he02047a_0
- libogg=1.3.4=h7f98852_1
- libopenblas=0.3.27=pthreads_h413a1c8_0
- libopus=1.3.1=h7f98852_1
- libpng=1.6.43=h2797004_0
- libpq=16.3=ha72fbe1_0
- libsndfile=1.2.2=hc60ed4a_1
- libsodium=1.0.18=h36c2ea0_1
- libsqlite=3.45.3=h2797004_0
- libstdcxx-ng=13.2.0=hc0a3c3a_7
- libsystemd0=255=h3516f8a_1
- libtiff=4.6.0=h1dd3fc0_3
- libuuid=2.38.1=h0b41bf4_0
- libvorbis=1.3.7=h9c3ff4c_0
- libwebp-base=1.4.0=hd590300_0
- libxcb=1.15=h0b41bf4_0
- libxkbcommon=1.7.0=h662e7e4_0
- libxml2=2.12.7=hc051c1a_0
- libzlib=1.2.13=hd590300_5
- llvmlite=0.42.0=py312hb06c811_1
- lz4-c=1.9.4=hcb278e6_0
- mako=1.3.5=pyhd8ed1ab_0
- markupsafe=2.1.5=py312h98912ed_0
- matplotlib=3.8.4=py312h7900ff3_2
- matplotlib-base=3.8.4=py312h20ab3a6_2
- matplotlib-inline=0.1.7=pyhd8ed1ab_0
- mistune=3.0.2=pyhd8ed1ab_0
- more-itertools=10.2.0=pyhd8ed1ab_0
- mpc=1.3.1=hfe3b2da_0
- mpfr=4.2.1=h9458935_1
- mpg123=1.32.6=h59595ed_0
- mpmath=1.3.0=pyhd8ed1ab_0
- munkres=1.1.4=pyh9f0ad1d_0
- mysql-common=8.3.0=hf1915f5_4
- mysql-libs=8.3.0=hca2cd23_4
- nbclient=0.10.0=pyhd8ed1ab_0
- nbconvert=7.16.4=hd8ed1ab_0
- nbconvert-core=7.16.4=pyhd8ed1ab_0
- nbconvert-pandoc=7.16.4=hd8ed1ab_0
- nbformat=5.10.4=pyhd8ed1ab_0
- ncurses=6.5=h59595ed_0
- nest-asyncio=1.6.0=pyhd8ed1ab_0
- notebook=7.2.0=pyhd8ed1ab_0
- notebook-shim=0.2.4=pyhd8ed1ab_0
- nspr=4.35=h27087fc_0
- nss=3.100=hca3bf56_0
- ntl=11.4.3=hef3c4d3_1
- numba=0.59.1=py312hacefee8_0
- numpy=1.26.4=py312heda63a1_0
- openjpeg=2.5.2=h488ebb8_0
- openssl=3.3.0=h4ab18f5_3
- optuna=3.6.0=pyhd8ed1ab_0
- overrides=7.7.0=pyhd8ed1ab_0
- packaging=24.0=pyhd8ed1ab_0
- pandoc=3.2=ha770c72_0
- pandocfilters=1.5.0=pyhd8ed1ab_0
- parso=0.8.4=pyhd8ed1ab_0
- pbr=6.0.0=pyhd8ed1ab_0
- pcre2=10.43=hcad00b1_0
- pexpect=4.9.0=pyhd8ed1ab_0
- pickleshare=0.7.5=py_1003
- pillow=10.3.0=py312hdcec9eb_0
- pip=24.0=pyhd8ed1ab_0
- pixman=0.43.2=h59595ed_0
- pkgutil-resolve-name=1.3.10=pyhd8ed1ab_1
- platformdirs=4.2.2=pyhd8ed1ab_0
- pluggy=1.5.0=pyhd8ed1ab_0
- ply=3.11=pyhd8ed1ab_2
- prometheus_client=0.20.0=pyhd8ed1ab_0
- prompt-toolkit=3.0.42=pyha770c72_0
- prompt_toolkit=3.0.42=hd8ed1ab_0
- psutil=5.9.8=py312h98912ed_0
- pthread-stubs=0.4=h36c2ea0_1001
- ptyprocess=0.7.0=pyhd3deb0d_0
- pulseaudio-client=17.0=hb77b528_0
- pure_eval=0.2.2=pyhd8ed1ab_0
- pycparser=2.22=pyhd8ed1ab_0
- pygments=2.18.0=pyhd8ed1ab_0
- pyparsing=3.1.2=pyhd8ed1ab_0
- pyqt=5.15.9=py312h949fe66_5
- pyqt5-sip=12.12.2=py312h30efb56_5
- pysocks=1.7.1=pyha2e5f31_6
- pytest=8.2.1=pyhd8ed1ab_0
- python=3.12.0=hab00c5b_0_cpython
- python-dateutil=2.9.0=pyhd8ed1ab_0
- python-fastjsonschema=2.19.1=pyhd8ed1ab_0
- python-json-logger=2.0.7=pyhd8ed1ab_0
- python-symengine=0.11.0=py312h83f29e1_1
- python_abi=3.12=4_cp312
- pytz=2024.1=pyhd8ed1ab_0
- pyyaml=6.0.1=py312h98912ed_1
- pyzmq=26.0.3=py312h8fd38d8_0
- qiskit=1.1.0=py312h4413252_1
- qt-main=5.15.8=hc9dc06e_21
- qtconsole-base=5.5.2=pyha770c72_0
- qtpy=2.4.1=pyhd8ed1ab_0
- quimb=1.8.1=pyhd8ed1ab_0
- readline=8.2=h8228510_1
- referencing=0.35.1=pyhd8ed1ab_0
- requests=2.32.2=pyhd8ed1ab_0
- rfc3339-validator=0.1.4=pyhd8ed1ab_0
- rfc3986-validator=0.1.1=pyh9f0ad1d_0
- rpds-py=0.18.1=py312h4413252_0
- rustworkx=0.14.2=py312h55e1634_0
- scipy=1.13.1=py312hc2bc53b_0
- send2trash=1.8.3=pyh0d859eb_0
- setuptools=70.0.0=pyhd8ed1ab_0
- sip=6.7.12=py312h30efb56_0
- six=1.16.0=pyh6c4a22f_0
- sniffio=1.3.1=pyhd8ed1ab_0
- soupsieve=2.5=pyhd8ed1ab_1
- sqlalchemy=2.0.30=py312h9a8786e_0
- stack_data=0.6.2=pyhd8ed1ab_0
- stevedore=5.2.0=pyhd8ed1ab_0
- symengine=0.11.2=h38c2413_1
- sympy=1.12=pypyh9d50eac_103
- terminado=0.18.1=pyh0d859eb_0
- tinycss2=1.3.0=pyhd8ed1ab_0
- tk=8.6.13=noxft_h4845f30_101
- toml=0.10.2=pyhd8ed1ab_0
- tomli=2.0.1=pyhd8ed1ab_0
- toolz=0.12.1=pyhd8ed1ab_0
- tornado=6.4=py312h98912ed_0
- tqdm=4.66.4=pyhd8ed1ab_0
- traitlets=5.14.3=pyhd8ed1ab_0
- types-python-dateutil=2.9.0.20240316=pyhd8ed1ab_0
- typing-extensions=4.11.0=hd8ed1ab_0
- typing_extensions=4.11.0=pyha770c72_0
- typing_utils=0.1.0=pyhd8ed1ab_0
- tzdata=2024a=h0c530f3_0
- uri-template=1.3.0=pyhd8ed1ab_0
- urllib3=2.2.1=pyhd8ed1ab_0
- wcwidth=0.2.13=pyhd8ed1ab_0
- webcolors=1.13=pyhd8ed1ab_0
- webencodings=0.5.1=pyhd8ed1ab_2
- websocket-client=1.8.0=pyhd8ed1ab_0
- wheel=0.43.0=pyhd8ed1ab_1
- widgetsnbextension=4.0.10=pyhd8ed1ab_0
- xcb-util=0.4.0=hd590300_1
- xcb-util-image=0.4.0=h8ee46fc_1
- xcb-util-keysyms=0.4.0=h8ee46fc_1
- xcb-util-renderutil=0.3.9=hd590300_1
- xcb-util-wm=0.4.1=h8ee46fc_1
- xkeyboard-config=2.41=hd590300_0
- xorg-kbproto=1.0.7=h7f98852_1002
- xorg-libice=1.1.1=hd590300_0
- xorg-libsm=1.2.4=h7391055_0
- xorg-libx11=1.8.9=h8ee46fc_0
- xorg-libxau=1.0.11=hd590300_0
- xorg-libxdmcp=1.1.3=h7f98852_0
- xorg-libxext=1.3.4=h0b41bf4_2
- xorg-libxrender=0.9.11=hd590300_0
- xorg-renderproto=0.11.1=h7f98852_1002
- xorg-xextproto=7.3.0=h0b41bf4_1003
- xorg-xf86vidmodeproto=2.3.1=h7f98852_1002
- xorg-xproto=7.0.31=h7f98852_1007
- xz=5.2.6=h166bdaf_0
- yaml=0.2.5=h7f98852_2
- zeromq=4.3.5=h75354e8_4
- zipp=3.17.0=pyhd8ed1ab_0
- zlib=1.2.13=hd590300_5
- zstd=1.5.6=ha6fb4c9_0

- pip:
  - stim<1.14

and the following settings:
      - uses: mamba-org/setup-micromamba@v1
        with:
          micromamba-version: '1.5.8-0' # any version from https://github.com/mamba-org/micromamba-releases
          environment-file: .devcontainer/environment.yml
          log-level: debug
          cache-environment: true
          post-cleanup: 'all'

The build works on the GitHub runner, but fails in the AWS runner with the following log: log.txt

this looks like a mamba issue and not related to setup-micromamba. can you reproduce it without setup-micromamba as well?

authors: matteoacrossi pavelzw

repo: mamba-org/setup-micromamba


text:
Create CODE_OF_CONDUCT.md

Description

Fixes #53
Type of Change:

New Feature

Checklist:

[x] My PR follows the style guidelines of this project
[x] I have performed a self-review of my own code or materials
[x] I have commented my code or provided relevant documentation, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[x] New and existing unit tests pass locally with my changes

@Yash-Sakre merged.

authors: Yash-Sakre manankohlii

repo: manankohlii/spacex-launch-data


text:
Segmentation fault on recursive yielding

def foo(n)
  return if n > 5
  yield "foo #{n}"

  foo(n + 1) do
    puts "nesting..."
  end
end

foo(1) do |a|
  puts a
end

This gives
/usr/bin/crystal: line 6: 15377 Segmentation fault      "$INSTALL_DIR/embedded/bin/crystal" "$@"

I think this certainly because of inline implementation of blocks. But I think compiler should provide readable error message.

Yes, that's the reason. It's a duplicate of #538

authors: asterite sergey-kucher

repo: manastech/crystal