Double-sent requests

function main(responses) {
  console.log('This only gets called once.')
  const url = '/ontologies/acl.ttl';
  var request$ = Cycle.Rx.Observable.just(url);

  var vtree$ = responses.http
    .do(r => console.log('this gets called twice', r))
    .mergeAll()
    .do(r => console.log('this gets called once', r))
    .map(res => h('p', res.text.substr(0, 100) + '...'));

  return {
    dom: vtree$,
    http: request$
  };
}

let [requests, responses] = Cycle.run(main, {
  dom: makeDOMDriver('#app-container'),
  http: makeHTTPDriver(),
  db: makeLocalDbDriver(),
});

For me it looks like the request is sent 5 times :-)

I mean, I am sending a single GET request in my code. I am not running this particular example...

Actually not sure mine is the same case. I am using mergeAll and I am seeing everything once on the client, but the server is receiving the same request 5 times...

Yeah, seeing 5 responses before mergeAll...

Was trying to find the issue. Not sure why, but while createResponse$ is called exactly once, the callback in Rx.Observable.create in the same function is called 5 times.

I mean, the create function itself is called 5 times. Totally weird...

Patched this lib to wrap superagent in a promise and then used Rx.Observable.fromPromise and it started working properly...

I think I had the same problem. One request going in to the driver and two requests being made to the server. laszlokorte explained on gitter that the function function createResponse$(reqOptions) in the driver creates a cold observable. So every subscription to the response$ results in an extra call being made. Work around is to call share() on the response$ you get from the driver to make the observable hot or to make the request eager which has the 'side' effect to make the response$ hot.
If you had five requests going out then it looks like you had five effective subscriptions. I think wrapping the call in a promise has the same work around effect (making the response$ hot).
I would expect the response$ to always be hot. Can't think of a situation where this 'cold' behavior is useful. (but maybe someone else can?!).
See http://arnodenuijl.github.io/CycleDoubleHttp/index.html for a working example where I had two calls being made off of one request. Just open the developer tools and click the button. The source code is on https://github.com/arnodenuijl/CycleDoubleHttp/blob/master/src/app.ts. In my case I used the HTTP response$ for generating the state$ (line 35). And the state$ was used for generating the DOM (line 42) and for creating the HTTP request$ (line 69).
By using the state$ in two places, one going into the DOM driver and one going into the HTTP driver,  two subscriptions are effective and two requests are being made.

@arnodenuijl Cheers, will take a look when I have time.

@arnodenuijl Now that I think about it the reason for the observable being cold is pretty clear: If the request fails, a cold observable can retry the request just by subscribing again. With a hot observable you can not retry the request (without creating a whole new one which might not be possible if you do not know all the parameters or do not have access to the request sink or if the one finally consuming the response does not know about cycle but just consumes failable observables)

I would expect the response$ to always be hot. Can't think of a situation where this 'cold' behavior is useful. (but maybe someone else can?!).

Like everything else with RxJS, cold is the default. I actually agree with you that I expect hot as default, but this is just how RxJS is, always cold by default. And there are deep implications for that. Cold is more general than Hot, so there's a reason why it's default. It's useful specially in cases where you need to retry, like Laszlo said.
So rather, than going against the RxJS normal behavior, I would stick to keeping the cold behavior, and instructing people to .share() those. Cycle may soon get support for multiple stream libraries, and then those may allow a hot-by-default approach.

This issue was moved to cyclejs/cycle-core#238


Static Classes in C#

When I use a static class, how does it get loaded into memory. Because if it is not in memory it cannot be called. So basically my question is when does a static class get loaded into memory and when is it released from memory, in other words, what is the full life-cycle of a static class in C#?
Thanks!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 7f20db0d-ef5c-d8e7-2267-0f409c499e0f
Version Independent ID: de2dac73-e810-dd42-f518-e50926b3747f
Content: Static Classes and Static Class Members (C# Programming Guide)
Content Source: docs/csharp/programming-guide/classes-and-structs/static-classes-and-static-class-members.md
Product: dotnet-csharp
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

@DJN1 When you say "when does a static class get loaded into memory?" do you mean the executable code for the class, or the static data members for the class?
The code is loaded when the assembly containing it is loaded. The static data is initialized following the same rules as static data in all classes

What I mean is at what point in the execution of the code is memory allocated for the static classes, and when is that memory released again?

Thanks for the clarification @DJN1
A static class can only contain static fields. The rules for allocating the memory follows the rules for static fields in any type, in the article I referenced in my earlier comment. Or, the C# language specification on static constructors also contains that information.
Note that if a static class does not contain any static data members, memory doesn't need to be allocated.
This is covered in the docs, so closing.


Support for Laravel 10

Hi!
It would be great if you could add support for Laravel 10 to this package.
Thanks!

sorry!
I didn't see that the newest release already supports Laravel 10

Hi @stefanschindler It is supported by laravel 10, just for a compatibility. There is no reason to use it with laravel 10, as it is natively support this feature https://laravel.com/docs/10.x/queues#jobs-and-database-transactions


Django request ID logging not working

Description

Example production API log:
[2023-07-16 05:07:33,929 - elasticsearch - 288][WARNING] [none] POST http://<redacted Elasticsearch URL>/image/_search [status:N/A request:10.012s]

Note the [none] between the log level and POST. The request ID should be in that space.
Screenshots

Environment

Observed in production logs
Additional context

Marked high because it makes production request lifecycle debugging impossible

I think this is a duplicate of #2638.

Thanks, I should have searched!


What is the point of tether.css file in the dist/css?

Seeing as it was in the dist folder, I assumed it was required by the library. I tried to use it for some basic positioning but the "element" to attach kept on disappearing. After scratching my head for a while, I realized that the classes in the tether.css were not being toggled/used by the javascript at all and it was hiding the element for no apparent reason. Getting rid of the tether.css from my html page got the library to work as it should. So can you please at least document it somewhere that we should toggle those classes manually or just not include that CSS file. Thanks

+1 Faced the same issue. No idea why the css file is necessary, but when using it the target is hidden.

+1

I'm wondering about the exact same thing. Tether is mentioned in the twitter bootstrap rails setup but only the JS is mentioned, and I searched quite a bit to figure out if CSS is needed at all or not.

Bump http://stackoverflow.com/questions/36816868/which-css-files-to-include-for-tether
No reaction on this issue for almost half a year. Maybe I should be looking for an alternative...

Hi, sorry for the delay.  To the best of my knowledge none of the CSS files are required to get Tether itself to work.  They are used by various dependencies of Tether to avoid having to duplicate that code or create another tether-css library.


服务貌似不可用，容器运行发生如下错误，不知道是系统还是主机的问题

Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1969, in _exec_single_context
self.dialect.do_execute(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 922, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: duplicate column name: updated_at
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/bin/alembic", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.10/site-packages/alembic/config.py", line 636, in main
CommandLine(prog=prog).main(argv=argv)
File "/usr/local/lib/python3.10/site-packages/alembic/config.py", line 626, in main
self.run_cmd(cfg, options)
File "/usr/local/lib/python3.10/site-packages/alembic/config.py", line 603, in run_cmd
fn(
File "/usr/local/lib/python3.10/site-packages/alembic/command.py", line 406, in upgrade
script.run_env()
File "/usr/local/lib/python3.10/site-packages/alembic/script/base.py", line 586, in run_env
util.load_python_file(self.dir, "env.py")
File "/usr/local/lib/python3.10/site-packages/alembic/util/pyfiles.py", line 95, in load_python_file
module = load_module_py(module_id, path)
File "/usr/local/lib/python3.10/site-packages/alembic/util/pyfiles.py", line 113, in load_module_py
spec.loader.exec_module(module)  # type: ignore
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
File "/app/migrations/env.py", line 72, in
run_migrations_online()
File "/app/migrations/env.py", line 66, in run_migrations_online
context.run_migrations()
File "", line 8, in run_migrations
File "/usr/local/lib/python3.10/site-packages/alembic/runtime/environment.py", line 946, in run_migrations
self.get_context().run_migrations(**kw)
File "/usr/local/lib/python3.10/site-packages/alembic/runtime/migration.py", line 628, in run_migrations
step.migration_fn(**kw)
File "/app/migrations/versions/4f57cda68ec2_initial_migration.py", line 23, in upgrade
op.add_column('websites', sa.Column('updated_at', sa.DateTime(), nullable=True))
File "", line 8, in add_column
File "", line 3, in add_column
File "/usr/local/lib/python3.10/site-packages/alembic/operations/ops.py", line 2156, in add_column
return operations.invoke(op)
File "/usr/local/lib/python3.10/site-packages/alembic/operations/base.py", line 442, in invoke
return fn(self, operation)
File "/usr/local/lib/python3.10/site-packages/alembic/operations/toimpl.py", line 183, in add_column
operations.impl.add_column(table_name, column, schema=schema, **kw)
File "/usr/local/lib/python3.10/site-packages/alembic/ddl/impl.py", line 337, in add_column
self._exec(base.AddColumn(table_name, column, schema=schema))
File "/usr/local/lib/python3.10/site-packages/alembic/ddl/impl.py", line 210, in _exec
return conn.execute(construct, params)
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1416, in execute
return meth(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/sql/ddl.py", line 181, in _execute_on_connection
return connection._execute_ddl(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1528, in _execute_ddl
ret = self._execute_context(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1848, in _execute_context
return self._exec_single_context(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1988, in _exec_single_context
self._handle_dbapi_exception(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2344, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1969, in _exec_single_context
self.dialect.do_execute(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 922, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) duplicate column name: updated_at
[SQL: ALTER TABLE websites ADD COLUMN updated_at DATETIME]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Migration failed!

大概知道是啥问题了，等我下班回去改改，应该是前几天加的启动脚本，需要加个判断。

已经修复了，你再试试


want to show a prompt

Hello Friends,
I want to read a Quantity from db and if someone try to exceed it i want to show a prompt how can i do this in serenity where i need to implement the code and how it should be.  ??

Use  this on your xyzDialog.ts (remember to transform your templates)
Q.notifyError('Some error');
Q.notifySuccess('Some Sucess');

Hi @ManzoorPK ,
what do you mean with quantity? An amount of records?
Can you Elaborate a bit more in Detail what you want to achive?
Javaman's answer Shows how to Display an error or a success Dialog but you Need to have some trigger for your Dialog.
John.


Cannot update gem paper_trail to version 9.0.0

Unfortunately we cannot use version 3.0.0 9.0.0 of paper_trail.  They have dropped a method that we require.  Issue reported to the paper_trail developers here, with a plea to restore this functionality: issue 1072

Turns out there is a way to do it:
projects.each # ...
  PaperTrail.request(enabled: false) do
    # whatever
  end
end


Create custom Marketplace via Sunstone (for Backups)

Description
The VM Backups option use the MarketPlace interface/driver to do the VM backups. If a custom driver is developed it is not possible to add custom marketplace in the Wizard mode
Update: After restarting sunstone the custom driver was listed, but there are no custom attributes:

Use case
Integration with storage backends for VM Backups.
When a custom marketplace driver is developed it is expected to be possible to configure via Sunstone.
Update: Currently it is a two step process - create a marketplace and then edit the attributes.
Interface Changes
A custom Marketplace storage driver should be listed in the "Storage backend" - Needs sunstone restart
An option to define custom attributes (same as all other places in Sunstone) when created
Additional Context
Had a custom marketplace storage driver configured in OpenNebula.
creating a via CLI works:
[root@one513 ~]# cat market.conf
NAME = "Private SP"
MARKET_MAD = "storpool"
CUSTOM_VAR = "CUSTOM_VAL"
[root@one513 ~]# onemarket create --verbose market.conf
ID: 100

In /etc/one/oned.conf we have:
MARKET_MAD = [
    EXECUTABLE = "one_market",
    ARGUMENTS  = "-t 15 -m http,s3,one,linuxcontainers,turnkeylinux,dockerhub,storpool"
]

MARKET_MAD_CONF = [
    NAME = "storpool",
    SUNSTONE_NAME = "StorPool",
    REQUIRED_ATTRS = "",
    APP_ACTIONS = "create, delete, monitor",
    PUBLIC = "yes"
]

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

Updated the description
the custom marketplace driver appeared after sunstone restart but there is no option to define attributes.

Closing until further feedback is provided.


Support for reading tzfiles

Add support for parsing a TimeZone from a tzfile

We should add support for version 2 and version 3 before this gets merged. Here is a example of a version 2 tzfile for Warsaw.

Seems to be something up with 32-bit support. Looking into it.


Generate types for module

There are current;y no typescript definition for the module. It would help a lot to have something that can then be used in a ts project.

Added in 862b740aade084699fa50dfadf0f26e52ecfba2c


wrong start index if the screen is RTL

Hello ,,
I've tried many ways to load the images (passing [URL] or datasouce) and it always start the index from 0
That happened only if the app runs on RTL
in LTR everything is working fine

Thanks for opening the issue and tracking it down to RTL. I'll take a look when I have time


Not support platform type: Darwin

when I run install.sh in macbook,  there is not support plattform, please help me.
$ ./install.sh

Not support platform type: Darwin
Not support platform type: Darwin
It takes 0 minutes.

I'm so sorry. I also want to support the mac platform, but I do not have the money to buy a mac computer, so I can not test the mac. You can use Vimplus.

I'm so sorry. I also want to support the mac platform, but I do not have the money to buy a mac computer, so I can not test the mac. You can use Vimplus.

I try to move this repo to MacOS. Are there any other script, which should be modified, except install.sh?

Also the nodejs.sh install script under the shell folder needs to be tested to see if it's a mac system. There should be nothing else, thank you very much!

Mac system is already in experimental support, welcome to experience!


WADL has incorrect base URL

When inspecting https://oscar.wmo.int/surface/rest/api?_wadl, in /application/, the URL below is invalid/does not work.
<resources base="http://<IP_ADDRESS>:9181/OSCAR/rest/api">

Moved to https://github.com/wmo-im/wmdr/issues/10


When deserializing the parser state cache, verify the script code matches the script used to create the cache

Calculate a checksum of the script code and store it in the stream along with the parser state cache. When we try and use this parser state cache later, make sure the script we are given back matches the script we used to create the cache. If it doesn't for some reason, discard the parser state cache as it may not match the script code exactly.
Fixes:
https://microsoft.visualstudio.com/OS/_workitems/edit/17542547
https://microsoft.visualstudio.com/OS/_workitems/edit/17713429

Do we know why we are getting mismatched sources? Is it because servers send different sources (possibly generated with timestamps or something that change byte offsets?)


Tasks left unprocessed when indexOn: ["_state"] enabled

I am having an issue when i have IndexOn: ["_state"] and tasks are being left unprocessed until the process is restarted.
I created a simple reproducible repo with the code and package versions. Maybe i am doing something stupid, please let me know if you can reproduce or what is wrong.

Looking into this - likely a Firebase client bug

Makes sense. I'll see if I can narrow it down to a query from the client.
On Tuesday, August 18, 2015, Chris Raynor<EMAIL_ADDRESS>wrote:

Looking into this - likely a Firebase client bug
—
Reply to this email directly or view it on GitHub
https://github.com/firebase/firebase-queue/issues/31#issuecomment-132366994
.

@dreadjr we tracked the issue down to a quirk in the way we raise events for indexed data in the firebase client and the way firebase-queue responds to events. I think we have enough info now to work on a fix.

Sweet. Thanks.
On Tuesday, August 18, 2015, jdimond<EMAIL_ADDRESS>wrote:

@dreadjr https://github.com/dreadjr we tracked the issue down to a
quirk in the way we raise events for indexed data in the firebase client
and the way firebase-queue responds to events. I think we have enough info
now to work on a fix.
—
Reply to this email directly or view it on GitHub
https://github.com/firebase/firebase-queue/issues/31#issuecomment-132378492
.

Any progress on this issue?

what is the status on this ?

@dreadjr this should have been fixed with version 2.3.0 of the client library. Closing, please reopen if you think this is still broken.


Governance nav drawer doesn't have 'token' dropdown

Recently, the 'token' dropdown was added to the navbar. That change wasn't passed through to the nav drawer, and currently those nav items aren't available through it.

[ ] Make sure nav drawer has the same nav items accessible as the navbar

Linked to this Slack message that has two options attached - will update the ticket with the final solution once I get feedback from @sam-keen

Hi @sam-keen a
Here is the Figma link to the chosen approach, I went with the one that utilises the solid yellow background as the second option feels like a bit of a hybrid monster of old and new...

current implementation:

still not sure if anything else needs to be done on this, as the Token menu item is now showing on the mobile drawer.


Fix typos and add footnotes

Nice guide! I made a couple of small changes, if you are interested.

Changes made! I can't believe I made a typo while trying to fix a typo ("just is jQuery insufficient" - !!!).
I think it's nicer not to address only men. Changed to the gender-neutral they, as you suggested.
I changed the footnotes, in the end just using HTML footnotes. Feel free to change to a markdown style if you prefer :)

Awesome, thank you! Shipped! (:


Oracle data source browser runs slow when loading first time

Oracle data source browser runs slow when loading first time.
This affects to ADS External Data Extension be slow when it browses Oracle data source.
This is because the way of recognizing Oracle table column definition is changed in SQL Server 2019.

Fix has been merged.


A row with null column values is mapped to null instead of an object with null fields

I have a query that returns a single row, but the single row contains only nulls in each of its columns.  When MyBatis executes this query, it returns null, rather than provide me with the appropriate object with its fields initialised to null.
I have debugged this and I can see that the MyBatis FastResultSetHandler throws the result away, even when callSettersOnNulls is set to true.  The applyPropertyMappings method checks the value of the callSettersOnNulls, but if the field being mapped is null, the object is not returned, but simply thrown away.
I am using MyBatis 3.2.2.  I have provided some simplified snippets of my Java code and MyBatis configuration below.

<select id="getSomething" parameterType="int" resultMap="getSomethingMap">
	SELECT top 1
		   property_a,
		   property_b
	FROM   SOME_USER..SOMETHING_TABLE
	WHERE  entity_id = #{entityId}
</select>

<resultMap id="getSomethingMap" type="Something">
	<result property="propertyA" column="property_a" javaType="java.lang.String" jdbcType="VARCHAR"/>
	<result property="propertyB" column="property_b" javaType="java.lang.String" jdbcType="VARCHAR"/>
</resultMap>

// Snippet of "Something" Java class
public class Something {

	private String propertyA;
	private String propertyB;

	public void setPropertyA(String propertyA) {
		this.propertyA = propertyA;
	}

	public String getPropertyA() {
		return propertyA;
	}

	public void setPropertyB(String propertyB) {
		this.propertyB = propertyB;
	}

	public String getPropertyB() {
		return propertyB;
	}
}

I found the answer I needed
edit mybatis-config.xml
<configuration>
         <settings>
		<setting name="callSettersOnNulls" value="true" />
		.....
	</settings>
</configuration>

before  set callSettersOnNulls=true the result
        {
            "xingming": "tom",
            "rid": "000a3217-c620-11e5-8c8d-782bcb4dc258"
        }

after set callSettersOnNulls=true,then the result is,Exactly what I want.
        {
            "xingming": "tom",
            "rid": "000a3217-c620-11e5-8c8d-782bcb4dc258",
            "zhiye": null,
            "xingming_jc": null
        }

the mapping.xml
	<select id="emptyPinyin" parameterType="java.util.Map" resultType="map">
		SELECT rid, xingming,xingming_jc,zhiye FROM dangan_jbxx  WHERE xingming_jc IS NULL
	</select>

thanks

Hi, I'm facing with the same problem now.
Setting  will not fix this problem since version 3.3.x or later.
I want a bean with null fields instead of null object.
Please let me know if there are any solutions.

I see this issue with 3.4.1 with the setting
<settings>
	 <setting name="callSettersOnNulls" value="true"/>
</settings>

+1
I am using mybatis 3.4.1.

We have procedure that on certain conditions returns '' from DUAL table.
mybatis is converting this refcursor object to null instead of column '' with value of null

This bug seems fixed in 3.4.0, but re-introduced in 3.4.1

Hi guys!
There was a discussion on the dev list. Here is the summary.

When all the columns of a row is null, MyBatis returns null.
callSettersOnNulls is whether to call the property's setter method when the value of a database column is null, so this option has no effect on the above behavior. In version 3.2.x, it affected the returned value, but it was unintentional.
It is still work-in-progress, but there will be a new configuration option which tells MyBatis to return an empty instance when all the columns of a row is null.

We will let you know when it is ready for testing.
Thank you for your patience,
Iwao

@dhirajpraj ,

This bug seems fixed in 3.4.0, but re-introduced in 3.4.1

There should be no difference between 3.4.0 and 3.4.1 except one corner case inconsistency which was corrected in this commit.
If you think it is not your 'bug', please create SSCCE.
There are some project templates to start with.
Thanks!
Iwao

➡  See #800


Dev add limiters to queues

Coverage increased (+0.01%) to 91.141% when pulling 991eb1dc78cb89a7fa0931bd6fc962464b640434 on dev_add_limiters_to_queues into 9f7723c4ebbda16993e2755b3ecc553162de9573 on edr_retry_get_to_peek.

Coverage decreased (-0.1%) to 91.007% when pulling 566c697cc9ddca22f37ec713f88a0871fe86d05d on dev_add_limiters_to_queues into 9f7723c4ebbda16993e2755b3ecc553162de9573 on edr_retry_get_to_peek.

Coverage increased (+0.01%) to 91.141% when pulling dfe843142b9147f322a43935abc178f6604bf578 on dev_add_limiters_to_queues into 9f7723c4ebbda16993e2755b3ecc553162de9573 on edr_retry_get_to_peek.

Coverage increased (+0.01%) to 91.141% when pulling 0e0346616a08645bc2fd644ed321aa6e7fe2d5c1 on dev_add_limiters_to_queues into 9f7723c4ebbda16993e2755b3ecc553162de9573 on edr_retry_get_to_peek.

Coverage increased (+0.01%) to 91.141% when pulling 94ff325728800bfe3be66767b3b0bc5f52ee602c on dev_add_limiters_to_queues into 9f7723c4ebbda16993e2755b3ecc553162de9573 on edr_retry_get_to_peek.


Functionality for scRNA-seq

Thanks for creating this interesting tool. Have you considered making it available for scRNA-seq data? Or at least describe a workflow for this?

Thanks for considering the miRPipe pipeline in your research work. As of now, we have worked on small non-coding RNAs only. If there is any future work related to scRNA identification, I'll let you know.


Slash Command Variable Arguments

Summary
A way to specify variable arguments for slash commands.
Why is this needed?
While splitting a string argument and parsing it manually is not too difficult, using a string argument removes some really nice features of slash commands like auto-complete for most types. It also makes it much harder for a user to specify things like users with names that are not one word or have unusual characters.
Alternatively, manually adding the max number of options to a command and treating it like varargs takes a lot of lines of code and makes it much harder to read. Not to mention, actually collecting every option into a list or tuple for iteration is also very hard to read and tedious.
 Then context.options.users would have a list of the specified users.
Internally, I believe it could function like this. Register the slash command as having 25 optional options of the correct type (or less if other non-variable arguments are given), and collect as many that were input into a list or tuple in the context.
A not very internal workaround I am currently using is as follows for a command foo to have variable numbers of User arguments. It would have to be adjusted when collected arguments to only get the ones of type User.
while len(foo.options) < 25:
    option(f'user{len(foo.options)}', 'Bar?', User, required=False)(foo)

async def foo(context):
    users = filter(None, context.options._options.values())

Checklist

[X] I have searched the issue tracker and have made sure it's not a duplicate. If it is a follow up of another issue, I have specified it.

The only issue I can envisage personally here is how it would appear on the client. From the internal implementation you've described, it sounds like the command would be flooded with optional args of very similar names (I don't believe two can use the same name).

So, I did a lot more programming since I posted this and have created a fairly duct-tape, but effective method of setting up simple slash only bots. It doesn't have every feature you could possibly want, but it is good for simple bots at least. I put it into a helper file for loading in a few bots I have.
Bots can be created like bot = create_bot(default_enabled_guilds=GUILD_NUMBER, cache_settings=CacheSettings(max_messages=10000)) for instance.
Slash commands are registered as follows. Returning an object will respond to the context.
@slasher('Does some random thing!')
async def foo(context, message: ('Say what?': str), *users: ('About whom?', User)):
    content = ''
    for user in users:
        content += f'{user.user} is {message}!\n'
    return content

from collections import defaultdict
from getpass import getpass
from inspect import signature
from lightbulb import BotApp, command, CommandErrorEvent, implements, option
from lightbulb.commands import SlashCommand
from os import name

def slasher(description):
    def decorator(function):
        @bot.command
        @command(function.__name__, description, auto_defer=True)
        @implements(SlashCommand)
        async def callback(context):
            args = []
            for name, parameter in parameters.items():
                if parameter.annotation != parameter.empty:
                    args.append(context.options._options.values() if parameter.kind == parameter.VAR_POSITIONAL else context.options._options.pop(name))

            content = await function(context, *args)
            await context.respond(content)

        parameters = signature(function).parameters
        for name, parameter in parameters.items():
            if parameter.annotation != parameter.empty:
                option(name, *parameter.annotation)(callback)
                if parameter.kind == parameter.VAR_POSITIONAL:
                    for i in range(2, 27 - len(callback.options)):
                        option(f'{name}{i}', *parameter.annotation, required=False)(callback)

    return decorator

def create_bot(**kwargs):
    global bot
    bot = BotApp(getpass(), **kwargs)

    if name == 'posix':
        from uvloop import install
        install()

    @bot.listen(CommandErrorEvent)
    async def on_error(event):
        await event.context.respond(event.exception.__cause__)
        raise event.exception

    return bot

bot = None

I'd say this is probably more in the scope of Filament. It's essentially a bunch of utility functions and decorators, and already has a load of hella botched solutions in it, so perhaps could be @tandemdude's next illegal coding job d:
In my personal opinion this is too much of a botchy hackjob for Lightbulb, despite it's uses insofar as features that really should be part of slash commands are concerned.

Well, I have an implementation of BotApp that probably doesn't fit into Lightbulb, but I will link it here for potential solutions.
https://github.com/ItsPonks/DiscordBots/blob/main/utils.py


BasicAuthentication with PAT not working for contributions client

I am getting an AzureDevOpsAuthenticationError when trying to get a contributions client. Is there any way I can access this resource using a PAT?
credentials = BasicAuthentication(' ', personal_access_token)
connection = Connection(base_url=organization_url, creds=credentials)
contributions_client = connection.clients_v6_0.get_contributions_client()

azure.devops.exceptions.AzureDevOpsAuthenticationError: The requested resource requires user authentication: https://app.vssps.visualstudio.com/_apis

When you generated your PAT, did you choose Full access?

Yes

ok, unfortunately I don't have the expertise on the contribution endpoints.  You can contact the team that owns them by submitting feedback in the feedback section on the REST doc site.

@RamirezAmayaS, did you manage to solve the issue?

@igor-i-plotnikov I did not.


<EMAIL_ADDRESS>hash check failed

App:         caoli5288/bilibili
URL:         https://dl.hdslb.com/mobile/fixed/bili_win/bili_win-install.exe#/dl.7z
First bytes: 4D 5A 90 00 03 00 00 00
Expected:    5d5d86963f5a922ce5f616159e0d5705602aa39c7520dc8a5f0f020adb74a3da
Actual:<PHONE_NUMBER>2daca81b375a80fc996fa1ab19fc199c73bd9002eb32eccdbbb35f

closed https://github.com/caoli5288/scoop-bucket/commit/cc4364768cd850f9d7be02279d5330e76413f990


Support relative path in metadata client

Related to #4698
Uncommitted GC reads object store and uncommitted data in relative path format.
Committed data is returned as full path
Suggested to add functionality to request addresses in relative path format from metadata client.

@johnnyaug FYI

Not an issue


increasing send timeout and fix logging

Codecov Report

Merging #26 into master will increase coverage by 0.11%.
The diff coverage is 72.22%.

@@            Coverage Diff            @@
##           master     #26      +/-   ##
=========================================
+ Coverage   79.59%   79.7%   +0.11%
=========================================
  Files          11      11
  Lines        1083    1089       +6
  Branches       98      98
=========================================
+ Hits          862     868       +6
  Misses        187     187
  Partials       34      34


PHP 8.0 support

Feature Request

Q
A

New Feature
yes

Summary
To be prepared for the december release of PHP 8.0, this repository has some additional TODOs to be tested against the new major version.
In order to make this repository compatible, one has to follow these steps:

[ ] Modify composer.json to provide support for PHP 8.0 by adding the constraint ~8.0.0
[ ] Modify composer.json to drop support for PHP less than 7.3
[ ] Modify composer.json to implement phpunit 9.3 which supports PHP 7.3+
[ ] Modify .travis.yml to ignore platform requirements when installing composer dependencies (simply add --ignore-platform-reqs to COMPOSER_ARGS env variable)
[ ] Modify .travis.yml to add PHP 8.0 to the matrix (NOTE: Do not allow failures as PHP 8.0 has a feature freeze since 2020-08-04!)
[ ] Modify source code in case there are incompatibilities with PHP 8.0

This is already being addressed in https://github.com/laminas/laminas-diactoros/pull/46, right?


Values are no longer being sorted

After last update values are no longer being sorted even though card code hasn’t changed.  Looking to see why this may have happened and/or get some advice how to fix.  Looking for ascending battery values.
Here is code:
`type: custom:battery-state-card
title: Batteries
sort_by_level: asc
entities:

entity: sensor.doorbell_battery_level
format: precision0
entity: sensor.living_room_window_left_battery
entity: sensor.living_room_window_right_battery
entity: sensor.screen_door_battery
entity: sensor.front_door_battery
entity: sensor.refrigerator_battery
entity: sensor.bedroom_door_battery
entity: sensor.entrance_multi_sensor_battery
entity: sensor.hallway_motion_sensor_battery_level
entity: sensor.bedroom_motion_sensor_battery_level
entity: sensor.bedroom_button_battery
entity: sensor.living_room_button_battery
entity: sensor.samjin_button_battery_2
entity: sensor.siren_downstairs_battery_level
entity: sensor.siren_upstairs_battery
entity: sensor.bedroom_window_right_battery
entity: sensor.bedroom_window_left_battery
entity: sensor.outdoor_govee_battery
entity: sensor.downstairs_govee_battery
entity: sensor.upstairs_govee_battery
`

Here is how card looks.

Using version 3.0.1

Please take a look at the "breaking changes" section in documentation


Maximum Core Temperature

I would like to select the hottest CPU core (Max Value) instead of an Average.

As far as I can tell the following file should be edited?
https://github.com/DanielStormApps/SMC/blob/master/smc/SMC/Hardware/SMC+CPU.swift
I would be happy to help but unfortunately I have never developed in swift.
There seems to be some value conversion going on...


Introduction to ASP.NET Core clean up

Moved from #1367

[x] Add link to "Side-by-side app versioning when targeting .NET Core."
[x] The hosting doc goes into detail on content root and web root. Point to them for details.

per @danroth27
By default the content root will be the location where your app dll is loaded from, which during development [edit insert] { in test/production}  is the bin directory. The content directory is used to determine the location of things like your views and your web root ( wwwroot  folder). However, during development your views and web root are not in the bin folder. They are a couple of directories up where your project is located. To fix that we setup the project to use the current directory where you are running “dotnet myapp.dll” from, which is during development is typically the root directory of your project.
Can you reword "To fix that setup"? Should it be something like "To set the content root for development"?
Seems like it's much simpler to define content root as the parent of web root ( wwwroot )
It is based on a set of granular and well factored NuGet packages.This allows you to optimize your app to include just the NuGet packages you need. replace with something like
It is based on a set of well factored NuGet packages, you include only the packages you need.
The following is fixed
The content root is the base path to any content used by the app, such as its views and web content. By default the content root is the same as application base path for the executable hosting the app; an alternative location can be specified with WebHostBuilder.
What does web content mean?  @danroth27  asks fowler " how to describe the content root for an ASP.NET Core app?" Fowler responds:

Any non code files that need to be read from the project. Config files, data files (like a database file), etc. it's also the base path for the webroot folder

-- end of fixed

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ad8c13e7-78e6-cf9a-e7cb-3215df5fd1c4
Version Independent ID: a3c1d2a6-625a-3409-120d-8372230a8196
Content: Introduction to ASP.NET Core
Content Source: aspnetcore/index.md
Product: aspnet-core
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

great blog !!
great bulk information available in this blog
this blog are very helpful for Dot net freshers like me,
thank you
https://www.exltech.in/dot-net-training.html

@wadepickett Regarding your #3 above, the sxs description in the doc isn't nearly as good as David Fowler's in the issue.  I still think the issue info should be integrated into the doc.  I'd make a new issue for this work.

Since we decided to move the expanded info on content root out to the .NET Generic Host topic and link to that instead I moved that work item out to a new issue and assigned to myself. (see note above)  https://github.com/aspnet/AspNetCore.Docs/issues/14165


I have the same problem. On the website Tuya api already offer to include some kind of plan for $ 1200 or go to the Trial Edition plan for 1 month. If they want money this will be the last TuYa device I bought.

I have the same problem. On the website Tuya api already offer to include some kind of plan for $ 1200 or go to the Trial Edition plan for 1 month. If they want money this will be the last TuYa device I bought.
Originally posted by @xrust83 in https://github.com/tuya/tuya-homebridge/issues/134#issuecomment-961986033
I had it working fine for a day or two and then it started showing the error code 2406. I resolved it by simply adding the correct Data centre code 44. I had it as 0 whilst it was working for a while, but it somehow decided to stop. You can simply change it in your Config.js and restart homebridge.

it worked for me for 3 months, and yesterday or amused how you got error 1109, I went to the site and the developer mode, which was previously enabled, was in an incomprehensible state.  when you try to turn it on, it offers to pay money either for free but for 1 month.  after connecting, still nothing works.

It seems the Tuya plugin is a bit unstable and very sensitive about the credentials you enter. When creating the Cloud project, I think it is essential also that you choose only the Data centre appropriate to your location, as if you don't it will cause an error.
Not sure what the deal is with the Price plan of $1200, as I am on the Basic version and it is not asking me to upgrade to any other plan

!


Fix send attachments

Fix allows sending new uploads using form/data instead of query params with POST call

add assembly plugin to build and use API locally as fat jar for testing purpose

Thank you for your contribution, great job 🎉


looking for data

Hello, I wonder if I can get your pre-processed brain data?

Hi, the full brain imaging data is available as part of Pereira (2018): https://evlab.mit.edu/sites/default/files/documents/index2.html
If you're interested in the particular data subset used in this experiment, you can find some Dropbox URLs here: https://github.com/hans/nn-decoding/blob/master/main.nf#L70


MobileSSD net

Hey,
Where can I find an implementation of SSDmobile net with armnn?
Thanks

Hi @shirbarzel,
We currently do not have the layer support required for SSDMobileNet, but are looking to implement it and might have it in the future release. Could you please let us know which framework are you interested in, Caffe, Tensorflow or TfLite?
Thanks,
Surabhi

Hi, I`m interested in Caffe framework.
I found out that the performance of your tiny-yolo implementation in human detection is not so good,
What implementation you are most recommend in terms of efficiency and accuracy in human detection?
Thanks,
Shir

Hi I would also be very interested in using ssd mobilenet, but coming from the Tflite/Tensorflow side.
Are there any rough estimates that you could give about your timeline?
This would be really helpful.
Thanks,
Georg

HI, I tried to run the SSD mobileNet network but I got the following error:
terminate called after throwing an instance of 'armnn::ParseException'
what():  Couldn't find requested output layer 'fc12' in graph
Maybe it will be more simple and quick to add the layers that are missing?
I need this implementation ASAP

Hi @Georg-W,
Thank you very much for your interest.
I can't comment on the estimates, but I will certainly pass on your interest. The Caffe path is currently our highest priority, but we will certainly look into implementing the other paths too.

Hi @Surmeh
Could you please answer my previous question?
Thanks,
Shir

Hi @shirbarzel,
We've currently only implemented Tiny-Yolo Caffe network in ArmNN for human detection. There are definitely networks like Faster-RCNN, SSD and their variants which are efficient in performance and accuracy, which we might look into implementing in the future.
The error you're getting suggests to me that the output layer name is incorrect. Could you please look into the prototxt file and mention the last layer's "top" name. You will still get an error for not supported layer(s) as we've not implemented SSDMobileNet in ArmNN.
I hope all your questions have been answered. I'm going to close this issue as the original question has been answered.

Hi @Surmeh
You're right, I changed the name of the layer that the code expects to get and it worked
Now I get an error as you said about the not supported layer(s)
Permute layer is the layer which is not supported.
Maybe you can implement the few layers which are not supported.
Attached the caffemodel and the prototxt that I`m trying to test.
MobileNet.zip

Hi Shirbarzel,
I benchmarked both tiny yolo and mobilenet-ssd ( Rockchip has their in house ARMNN mobilenet-ssd implementation), the result I get show the speed of mobilenet-ssd performs significant better.  The performance of tiny yolo can't meet my company's product target while mobilenet-ssd can.
I also hope ARMNN can officially support mobilenet-ssd soon.

Hi @Surmeh, I'm looking for the mobilenet-SSD implantation you mentioned but can't find it. anyway you could share a link? many thanks


Image title can be added when create/edit a post

Hi @vhessam ,
I would like to suggest two functions:
(1) Adding a function which image title can be added when create/edit a post at the same time.
If I create a post with an image, then the image would become "Untitled Photo", and it can not be edited.
(2) Adding a function which image can also be deleted in imageupload/index.blade.php.
Thank you very much! :-)

Hi @tzulinho,
yes why not, good idea. I add it to my to do list.
Thanks for your feedback ;)


[OTHER] start_encoder() needs a parameter?

Please only include one item/question/problem per issue!
Reference: The examples section, the script capture_circular.py near line 20:
The following statement did not work for me:
picam2.start_encoder()
However, the following change worked:
picam2.start_encoder(encoder)
Regards.
P.S.
Apologies for not submitting a pull request. I'm still learning how to use GitHub productively.

Hi, thanks for the report. Yes, it seems we aren't running some of those as part of our CI test suite because it runs forever! There are a few others to fix up as well, so thanks again for letting us know.

Will continue to step through the examples one script at a time (alphabetical order, of course). Hopefully, I'll learn a little bit about Picamera2 too in the process.
Regards.


Document property variance notation

The +/- prefix notation is mentioned in the redux docs and this blog post but nowhere in the docs on variance. (At least I wasn't able to find them.)

Oh wow, thanks for pointing this out. There is actually mention of it in the interface variance section, but it's not clear that you should have to read that section to understand how variance annotations work elsewhere.
I know there is a lot of interest in improving the education around variance issues. I'm working on a blog post and will also look for ways to add this to the docs somewhere more obvious.

Ironically, https://flow.org/en/docs/lang/depth-subtyping/ mentions the covariance syntax, while https://flow.org/en/docs/lang/variance/ does not.

Fixed in 43199f1287474307d7e02745daad794be8057da9 and aec9b7999f1246404277722678d1baf2e32b5deb


Broken when Trying to Use with Tachyons.io

After adding tachyons framework stylesheets, color picker breaks.
To reproduce simply add tachyons css to header (i.e. in color-picker.noob.html)
<link rel="stylesheet"<EMAIL_ADDRESS>Looks like there is some incompatibility with tachyons resets or something similar. Problem is probably with .color-picker-sv

.color-picker,
.color-picker * {
  -webkit-box-sizing:padding-box;
  -moz-box-sizing:padding-box;
  box-sizing:padding-box;
}

Thansk for fast reply. I have to use content-box instead of padding-box as Chrome claims it doesn't know padding-box property. Working like a charm now.
.color-picker,
.color-picker * {
  box-sizing: content-box;
}

I will set a border-box value to all of the color picker panel elements next time.


chore: use Edge browser for Onyx Playwright tests

Relates to #1997
Use MS Edge in Playwright tests for Onyx, since this is the most important browser.
(Also Chromium based but the version is a few weeks older and has possible other minor differences)
https://playwright.dev/docs/browsers#configure-browsers

Shall we use Edge in other packages as well ?

@oemueller Sure why not so its the same for all packages :)

@JoCa96 can you approve ? all issues resolved :-)

Approved :)


Cube.SIZE Clean Up

I started cleaning up in preparation for using 32³ sized cubes, it is however a reasonable change by itself.

Replaced most occurrences of the magic number 16 with Cube.SIZE in adequate places.
Introduces constant Cube.SIZE_D=16.0 for decimal uses of the cubes' size.
Replaced most occurrences of "& 15" and ">> 4" with blockToLocal and blockToCube where applicable. Some occurrences do not directly relate to cubes and where thus left unchanged.

Generally I think this is a step in the right direction by just looking at the description, even without 32x32x32 cubes (I didn't go over the code yet).
As for 32x32x32 cubes:
Changing to real 32x32x32 cubes probably isn't going to happen. Instead it would probably be better to just di the change for the most performance critical parts like PlayerCubeMap, which could load whole 32x32x32 sections, without any mention of 32^3 cubes anywhere else.
On-disk storage also could use 32x32x32 cubes, with a fallback 16x16x16 cube loader to do on the fly conversion (this may need some mesing around with RegionLib). NBT data would still be stored per 16x16x16 cubes, but 8 of them would be stored and compressed together in one region entry, just like vanilla does for 1x16x1 cubes.
The next place that could easily benefit from such change is mob spawning code. This would bring it much closer to vanilla performance for the same amount of blocks.
Random block ticks is another part that would benefit from it.
Other than these I don't see any places where changing to 32x32x32 cubes ould giv ay benefit. And the ones I listed can be changed without really introducing true 32x32x32 cubes.

Of course, changing a simple variable won't convert CC to use 32³ cubes. But doing this first of all improves code maintainability in any case and if 32³ cubes ever where to happen, it would make things easier. But I think we're on the same page there.
I wonder if going for full 32³ cubes, while being more complicated at first, could be the better choice in the long run. Essentially, you propose to introduce a somewhat abstraction layer (which won't be as fast as a full 32³ implementation), for certain cases but not all, even though a 32³ implementation should be equally or better performing than the current 16³ implementation in almost all cases.
Secondly, using such an abstraction layer will most likely increase the overall complexity of the code even further and cause a lot of headaches in terms of maintainability in the future.

We will need some abstraction layer either way. Vanilla expects 16xinfinityx16 columns, and this has to stay no matter what. We also don't really want to change ExtendedBlockStorage (while possible, it's very likely to break too much stuff and increase overall memory usage).
So if we want 16x16x16->32x32x32 abstraction layer, all we need is maybe some class that contains 2x2x2 cubes in a simple array. Easy access to arbitrary location. Used only in code we control, in ways we expect.
If we want 32x32x32->16x16x16 abstraction layer, then:

Either ExtendedBlockStorage is changed and we need a special code to handle accessing blocks through Chunk class, we still need mapping from ChunkXZ->Chunk, and if we also want to make 32x32x32 columns we need 2 Column classes. And it would make the already cmplicated Chunk mixin even more complicated. Ad Chunk may be used in ways we don't expect. And sponge compatibility will be a nightmare. I generally don't want to dela with changing EBS.
Or ExtendedBlockStorage stays as is, in which case all vanilla access would either go through 16x16x16->32x32x32 layer first, and then back through 16x16x16->32x32x32 for EBS access, or we would still keep the direct CubePos->16x16x16 cube mapping, in which case it's nearly equivalent to just changing some stuff and keeping other stuff.

So it's either something I really don't want to deal with or vanilla going through2  abstraction layers, or basically equivalent to what I proposed.


Sequence.async 's 'interval' definition is ambiguous

Hi, I'm a software engineer in Japan and pretty much new to Lazy.js but loving its feature so far.  I was using the Sequence.async and have a question about the definition of interval we can pass as a parameter.  The docs say interval is:

The approximate period, in milliseconds, that should elapse between each element in the resulting sequence. Omitting this argument will result in the fastest possible asynchronous iteration.

I thought this meant that the first element's async process would start immediately whether or not you specify the interval.  Below is an example:
// 1st async
Lazy([1, 2, 3]).async(1000).each(function(e){
    console.log('1st async: ', e);
});

// 2nd async
Lazy([1, 2, 3]).async().each(function(e){
    setTimeout(function(){
        console.log('2nd async: ', e);
        }, 100);
});

// result(actual)
2nd async:  1
2nd async:  2
2nd async:  3
1st async:  1
1st async:  2
1st async:  3

// result(what I expected)
1st async:  1   // <- 1st async's 1st process starts 1st
2nd async:  1
2nd async:  2
2nd async:  3
1st async:  2
1st async:  3

Is this intended?  If so, I think it would have been better to say interval is:

The approximate period, in milliseconds, that should elapse before each element in the resulting sequence. Omitting this argument will result in the fastest possible asynchronous iteration.

Am I missing something here?
Thanks in advance for any support.

Actually, it's a difference between this:
# Your first example
Lazy [1, 2, 3]
  .async 1000
  .each (x) -> console.log "1st async: #{x}"

# Equivalent with Bluebird promises
log = (x) -> console.log "1st async: #{x}"

Promise.resolve null
  .delay 1000
  .then -> log 1
  .delay 1000
  .then -> log 2
  .delay 1000
  .then -> log 3

and this:
# Your second example
Lazy [1, 2, 3]
  .async()
  .each (x) -> setTimeout (-> console.log "2nd async: #{x}"), 1000

# Equivalent with Bluebird promises
log = (x) -> console.log "2nd async: #{x}"

Promise.resolve null
  .then -> setTimeout (-> log 1), 1000
  .then -> setTimeout (-> log 2), 1000
  .then -> setTimeout (-> log 3), 1000

That help?

Also, you probably meant for the delay to be 1000 (note the extra 0) in your second example.
// Your corrected second example
Lazy([1, 2, 3]).async().each(function(e){
    setTimeout(function(){
        console.log('2nd async: ', e);
        }, 1000);
});

That shouldn't affect the order of the result after the first of each, though.

I can definitely see how this would be confusing. For now, I think I'm just going to update the documentation to indicate that interval elapses before the first element in the sequence is iterated. I might be open to changing this behavior in the future.


[*] Temporarily reinstates blob url used for local dev to next config…

… image allowed domains list

Abandoning this PR as the fix has been applied in a different PR and this one is polluted by a force push to sprint


Support Windows

Need to move to uv instead of ev, perhaps change how the build works. I don't know what all is involved.

Being unfamiliar with the build system I don't quite understand yet how to get the binding working using 'libzmq.dll' and 'libzmq.ilk' (2.1.11). Building these using Visual Studio Express is straightforward: http://www.zeromq.org/intro:get-the-software
What would really help is to have a documented (here?) workaround for windows users. Something like:
1/ build the zeromq binaries (cf. link above)
2/ git clone zeromq.node in your project's 'node_modules'
3/ put your binaries where they belong + some waf fu?
4/ profit!

On a side note, the build will probably not work on Windows XP anyway since the build reliess on 'link' (3: from os import unlink, link).
There may be an elegant workaround that I'm not aware of...

There's no way to workaround right now. The zeromq bindings assume libev, which are not supported on windows. Node has written their own compatibility layer called "uv" that we would need to port to.

I see...
That said I'd still be interested on a 'how to build zeromq.node' on Windows. Even a broken build (because of missing dependencies) would be a great first step.
I'd be happy to test/help/contribute if I can get to the right setup...

Switching to libuv in the C++ binding turned out to be relatively trivial.  However, there is no IOWatcher functionality (or equivalent?) on Windows.  Core Node UDP functionality moved from JavaScript (using IOWatchers) to C++ as part of their libuv work in 0.5, suggesting that we'd likely need to do the same here, but I'm not sure why (or what or how).

Here are some approximate build instructions for a process that needs to be dramatically streamlined:

Install Visual C++ 2008
Express
and Visual C++ 2010
Express
(yes, both; ØMQ requires 2008)
Run "Visual Studio Command Prompt (2010)"
Compile Node in C:\src\node: vcbuild.bat
Compile ØMQ in C:\src\zeromq2-1: cd builds\msvc && msbuild
Compile zeromq.node in C:\src\zeromq.node: msbuild
Copy libzmq.dll: copy C:\src\zeromq2-1\libzmq.dll C:\src\zeromq.node
Copy zeromq.node: copy C:\src\zeromq.node\Debug\binding.node C:\src\zeromq.node

How do I do this step?

Compile zeromq.node in C:\src\zeromq.node: msbuild

Do I run the waf script? Currently, I get the error
c:\workspace\zmqTest\node_modules\zeromq.node>waf configure
c:\workspace\zmqTest\node_modules\zeromq.node\wscript: error: Traceback (most recent call last):
File "C:\workspace\turbulenz\external\waf\waf-1.5.17-159e44fd676bbca5f53d5f2c5fb23478\wafadmin\Utils.py", line 198, in load_module
exec(compile(code,file_path,'exec'),module.dict)
File "c:\workspace\zmqTest\node_modules\zeromq.node\wscript", line 2, in
from os import unlink, link
ImportError: cannot import name link

If you're on the windows branch, run msbuild.  node-waf is being replaced by node-gyp, but this is an interim solution.
Also note: it doesn't work on Windows yet due to current limitations in libuv (no equivalent to ev_io).


fix(web-components): change classification banner to stop overlaying of footer

Summary of the changes
changes banner classification css from fixed to relative to prevent banner overlaying footer
Related issue
https://github.com/mi6/ic-ui-kit/issues/543
Checklist

[x] I have added relevant unit and visual regression tests.
[ ] I have manually accessibility tested any changes, if relevant.
[ ] I have ensured any changes match the Figma component library.

Rather than changing the classification banner component, it might be worth having a look at the footer component. As that should already have a hasClassificationBanner() method, that should cater for this scenario. Looks like that may be failing for some reason. It doesn't seem to be adding the classification-spacing class onto the copyright element.

This doesn't seem to be an issue in the storybook examples  - it works fine here: https://mi6.github.io/ic-ui-kit/branches/develop/?path=/story/web-components-side-navigation--default-story
So appears to be an issue on our site. I still suspect the footer is not detecting that there is a classification banner. It might still require a fix in the component code though

The issues with classification banner on the design-system stem from the component being used in the wrong place. Closing this PR and will create a new branch to scope the design-system to remove this and fix the issue.


emoji_picker: Improve emoji picker search results.

This sorts the emoji picker's search results using the same typehead.sort_emojis function as the compose typehead.
Resolves #15694.
GIFs or Screenshots:

Merged, thanks @vinitS101!  If you have a bit of time, I think a follow-up to add a basic test for this code path in frontend_tests/node_tests/emoji_picker.js would be valuable. (Not sure how easy it is to plumb, but this is the sort of thing you want tests for).


Failed in nopython mode pipeline (step: convert to parfors)

[X] I am using numba 0.50.0 and numpy 1.19.0.
[X] I have included a minimal working reproducer.

This example works with parallel=False, but it does not with parallel=True.
from numba import jit, prange
import numpy

@jit(nopython=True, parallel=True)
def test(image):
    for i in prange(image.shape[0]):
        for j in prange(image.shape[1]):
            h, h, h = image[i][j]
            m = 0
            if -1 < h < 60:
                R=0
            R=(R+m)*255 #works if m is removed

image = numpy.zeros((640, 480, 3), dtype=numpy.uint8)
test(image)

Error:
ValueError: Failed in nopython mode pipeline (step: convert to parfors)
Use of reduction variable 'R' other than in a supported reduction function is not permitted.

Full error message
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-30-f223f51749b0> in <module>
     13
     14 image = numpy.zeros((640, 480, 3), dtype=numpy.uint8)
---> 15 test(image)

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\dispatcher.py in _compile_for_args(self, *args, **kws)
    432                     e.patch_message('\n'.join((str(e).rstrip(), help_msg)))
    433             # ignore the FULL_TRACEBACKS config, this needs reporting!
--> 434             raise e
    435
    436     def inspect_llvm(self, signature=None):

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\dispatcher.py in _compile_for_args(self, *args, **kws)
    365                 argtypes.append(self.typeof_pyval(a))
    366         try:
--> 367             return self.compile(tuple(argtypes))
    368         except errors.ForceLiteralArg as e:
    369             # Received request for compiler re-entry with the list of arguments

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\compiler_lock.py in _acquire_compile_lock(*args, **kwargs)
     30         def _acquire_compile_lock(*args, **kwargs):
     31             with self:
---> 32                 return func(*args, **kwargs)
     33         return _acquire_compile_lock
     34

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\dispatcher.py in compile(self, sig)
    806             self._cache_misses[sig] += 1
    807             try:
--> 808                 cres = self._compiler.compile(args, return_type)
    809             except errors.ForceLiteralArg as e:
    810                 def folded(args, kws):

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\dispatcher.py in compile(self, args, return_type)
     76
     77     def compile(self, args, return_type):
---> 78         status, retval = self._compile_cached(args, return_type)
     79         if status:
     80             return retval

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\dispatcher.py in _compile_cached(self, args, return_type)
     90
     91         try:
---> 92             retval = self._compile_core(args, return_type)
     93         except errors.TypingError as e:
     94             self._failed_cache[key] = e

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\dispatcher.py in _compile_core(self, args, return_type)
    103
    104         impl = self._get_implementation(args, {})
--> 105         cres = compiler.compile_extra(self.targetdescr.typing_context,
    106                                       self.targetdescr.target_context,
    107                                       impl,

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\compiler.py in compile_extra(typingctx, targetctx, func, args, return_type, flags, locals, library, pipeline_class)
    601     pipeline = pipeline_class(typingctx, targetctx, library,
    602                               args, return_type, flags, locals)
--> 603     return pipeline.compile_extra(func)
    604
    605

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\compiler.py in compile_extra(self, func)
    337         self.state.lifted = ()
    338         self.state.lifted_from = None
--> 339         return self._compile_bytecode()
    340
    341     def compile_ir(self, func_ir, lifted=(), lifted_from=None):

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\compiler.py in _compile_bytecode(self)
    399         """
    400         assert self.state.func_ir is None
--> 401         return self._compile_core()
    402
    403     def _compile_ir(self):

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\compiler.py in _compile_core(self)
    379                 self.state.status.fail_reason = e
    380                 if is_final_pipeline:
--> 381                     raise e
    382         else:
    383             raise CompilerError("All available pipelines exhausted")

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\compiler.py in _compile_core(self)
    370             res = None
    371             try:
--> 372                 pm.run(self.state)
    373                 if self.state.cr is not None:
    374                     break

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\compiler_machinery.py in run(self, state)
    339                     (self.pipeline_name, pass_desc)
    340                 patched_exception = self._patch_error(msg, e)
--> 341                 raise patched_exception
    342
    343     def dependency_analysis(self):

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\compiler_machinery.py in run(self, state)
    330                 pass_inst = _pass_registry.get(pss).pass_inst
    331                 if isinstance(pass_inst, CompilerPass):
--> 332                     self._runPass(idx, pass_inst, state)
    333                 else:
    334                     raise BaseException("Legacy pass in use")

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\compiler_lock.py in _acquire_compile_lock(*args, **kwargs)
     30         def _acquire_compile_lock(*args, **kwargs):
     31             with self:
---> 32                 return func(*args, **kwargs)
     33         return _acquire_compile_lock
     34

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\compiler_machinery.py in _runPass(self, index, pss, internal_state)
    289             mutated |= check(pss.run_initialization, internal_state)
    290         with SimpleTimer() as pass_time:
--> 291             mutated |= check(pss.run_pass, internal_state)
    292         with SimpleTimer() as finalize_time:
    293             mutated |= check(pss.run_finalizer, internal_state)

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\compiler_machinery.py in check(func, compiler_state)
    262
    263         def check(func, compiler_state):
--> 264             mangled = func(compiler_state)
    265             if mangled not in (True, False):
    266                 msg = ("CompilerPass implementations should return True/False. "

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\core\typed_passes.py in run_pass(self, state)
    286                                          state.flags,
    287                                          state.parfor_diagnostics)
--> 288         parfor_pass.run()
    289
    290         remove_dels(state.func_ir.blocks)

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\parfors\parfor.py in run(self)
   2692             # Validate reduction in parfors.
   2693             for p in parfors:
-> 2694                 get_parfor_reductions(self.func_ir, p, p.params, self.calltypes)
   2695
   2696             # Validate parameters:

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\parfors\parfor.py in get_parfor_reductions(func_ir, parfor, parfor_params, calltypes, reductions, reduce_varnames, param_uses, param_nodes, var_to_param)
   3315         if param_name in used_vars and param_name not in reduce_varnames:
   3316             param_nodes[param].reverse()
-> 3317             reduce_nodes = get_reduce_nodes(param, param_nodes[param], func_ir)
   3318             # Certain kinds of ill-formed Python (like potentially undefined
   3319             # variables) in combination with SSA can make things look like

c:\users\user\anaconda3\envs\env\lib\site-packages\numba\parfors\parfor.py in get_reduce_nodes(reduction_node, nodes, func_ir)
   3411                 target_name = next_node.target.unversioned_name
   3412                 if not (isinstance(next_node, ir.Assign) and target_name == unversioned_name):
-> 3413                     raise ValueError(
   3414                         f"Use of reduction variable {unversioned_name!r} other "
   3415                         "than in a supported reduction function is not "

ValueError: Failed in nopython mode pipeline (step: convert to parfors)
Use of reduction variable 'R' other than in a supported reduction function is not permitted.

@styler00dollar I suspect this minimal reproducer has been oversimplified because if m is always 0 then what is the problem with removing it?  So, I'll operate on the assumption that in your real code that m is not always 0.  In that case, this "R=(R+m)*255" is not a valid reduction.  The value of R is going to depend on the order in which you execute the iterations.
So, Numba is doing exactly what it should here.  This code presumably does what you want when executed serially but it cannot be executed in parallel because the reduction is invalid.  If you believe your less simplified code has a valid reduction (that gets the same value regardless of computation order) but that Numba is still rejecting then please feel free to re-open this issue with a minimal reproducer showing that.

I hope that i understood it correctly and will try to show this in more detail, since I think there is a bug.
The original example looked more like this:
from numba import jit, prange
import numpy

@jit(nopython=True, parallel=True)
def test(image):
    empty=numpy.zeros(image.shape)
    for i in prange(image.shape[0]):
        for j in prange(image.shape[1]):
            h, s, v = image[i][j]
            s = s / 100
            v = v / 100
            c = v * s
            m=v-c
            if -1 < h < 400: # h is always inside in one of multiple if
                R=0
                G=0
                B=0
            R=(R+m)*255
            G=(G+m)*255
            B=(B+m)*255
            empty[i][j]=[R,G,B]
    return empty

image = numpy.zeros((640, 480, 3), dtype=numpy.uint8)
test(image)

ValueError: Failed in nopython mode pipeline (step: convert to parfors)
Use of reduction variable 'R' other than in a supported reduction function is not permitted.

It could be argued that there is computational order. I modified the code to calculate m with one line:
from numba import jit, prange
import numpy

@jit(nopython=True, parallel=True)
def test(image):
    empty=numpy.zeros(image.shape)
    for i in prange(image.shape[0]):
        for j in prange(image.shape[1]):
            h, s, v = image[i][j]
            m=(v/100)-(v/100)*(s/100)
            if -1 < h < 400: # h is always inside in one of multiple if
                R=0
                G=0
                B=0
            R=(R+m)*255
            G=(G+m)*255
            B=(B+m)*255
            empty[i][j]=[R,G,B]
    return empty
image = numpy.zeros((640, 480, 3), dtype=numpy.uint8)
test(image)

ValueError: Failed in nopython mode pipeline (step: convert to parfors)
Use of reduction variable 'B' other than in a supported reduction function is not permitted.

Since the value m can be calculated with one formula and can be written in one line, the parameter m can be removed. Now R, G and B are completely dependant on the set values.
This code does compile.
from numba import jit, prange
import numpy

@jit(nopython=True, parallel=True)
def test(image):
    empty=numpy.zeros(image.shape)
    for i in prange(image.shape[0]):
        for j in prange(image.shape[1]):
            h, s, v = image[i][j]
            R=G=B=0
            R=(R+v-(v / 100) * (s / 100))*255
            G=(G+v-(v / 100) * (s / 100))*255
            B=(B+v-(v / 100) * (s / 100))*255
            empty[i][j]=[R,G,B]
    return empty

image = numpy.zeros((640, 480, 3), dtype=numpy.uint8)
test(image)

Meanwhile this code does not work.
from numba import jit, prange
import numpy

@jit(nopython=True, parallel=True)
def test(image):
    empty=numpy.zeros(image.shape)
    for i in prange(image.shape[0]):
        for j in prange(image.shape[1]):
            h, s, v = image[i][j]
            if -1 < h < 400:    # h is always inside in one of multiple if
                R=0
                G=0
                B=0
            R=(R+v-(v / 100) * (s / 100))*255 # (R+m)*255
            G=(G+v-(v / 100) * (s / 100))*255
            B=(B+v-(v / 100) * (s / 100))*255
            empty[i][j]=[R,G,B]
    return empty

image = numpy.zeros((640, 480, 3), dtype=numpy.uint8)
test(image)

ValueError: Failed in nopython mode pipeline (step: convert to parfors)
Use of reduction variable 'B' other than in a supported reduction function is not permitted.

It could be said that there is computational order and the if-statement needs to be executed before the R, G and B values are calculated, but then I got this working example below without a parameter. I think my the code above should work, since h, s and v values are known and R, G and B values are always set with one if-statement.
from numba import jit, prange
import numpy

@jit(nopython=True, parallel=True)
def test(image):
    empty=numpy.zeros(image.shape)
    for i in prange(image.shape[0]):
        for j in prange(image.shape[1]):
            h, s, v = image[i][j]
            if -1 < h < 400:    # h is always inside in one of multiple if
                R=10
                G=20
                B=30
            R=(R)*255
            G=(G)*255
            B=(B)*255
            empty[i][j]=[R,G,B]
    return empty

image = numpy.zeros((640, 480, 3), dtype=numpy.uint8)
test(image)

It correctly multiplies the values from the if-statement.
array([[[2550., 5100., 7650.],
        [2550., 5100., 7650.],
...

A new minimal reproducer would be:
from numba import jit, prange
import numpy

@jit(nopython=True, parallel=True)
def test(image):
    empty=numpy.zeros(image.shape)
    for i in prange(image.shape[0]):
        for j in prange(image.shape[1]):
            h, s, v = image[i][j]
            if -1 < h < 400:    # h is always inside in one of multiple if
                R=0
                G=0
                B=0
            R=(R*v)*255
            G=(G*v)*255
            B=(B*v)*255
            empty[i][j]=[R,G,B]
    return empty

image = numpy.zeros((640, 480, 3), dtype=numpy.uint8)
test(image)

ValueError: Failed in nopython mode pipeline (step: convert to parfors)
Use of reduction variable 'B' other than in a supported reduction function is not permitted.

I am sorry if I understand something wrong.

@styler00dollar You are not understanding what I am saying.  I am not talking about the order of computation inside one loop iteration but the order of computations between iterations.  Consider the following code:
    Rf = 0
    Rb = 0
    for i in range(5):
        Rf = (Rf+i)*255
    for i in range(4,-1,-1):
        Rb = (Rb+i)*255
    print(Rf, Rb)

In both loops, "i" will at some point take on the values 0,1,2,3,4.  The only difference is the order in which they are executed.  This program prints the following:<PHONE_NUMBER><PHONE_NUMBER>150.  So, as you can see, the result depends on the order in which these operations are executed.  When running in parallel, you can think of the iterations as executing in some random order.
With classic reduction operators like + and *, this is not an issue because A+B+C+D is the same as B+C+A+D as well as every other possible combination.  Your operation R=(R+m)*255 does not have this property and as such is not a valid reduction and the Numba error is telling you that.


Version request : *1.21.4 Fabric

Does the current version work with 1.21.4 or do we need an update? :)

1.21.3 and 1.21.4 seem to need explicit support, at least on fabric. Specifically, they work on server fine but crash the client when trying to render toasts.
I'll be doing my normal steps of testing each modloader / subversion combination to get everything working, but I do have a few other things that need to be done first unfortunately.

https://github.com/HeatherComputer/AdvancedBackups/actions/runs/12491600755
One of the outputs here is a jar for 1.21.2 - 1.21.4 fabric. It has been tested on all.


[doc] Add links to the latest presentations and add Twitter badge as well

Change also the line where the setup.py starts: https://github.com/eth-cscs/reframe/blob/96ce404efe7afabb486fd9e4b5f2f1b79886e241/setup.py#L11

Codecov Report

Merging #1820 (1e4d5b5) into master (2af2266) will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1820      +/-   ##
==========================================
+ Coverage   87.60%   87.62%   +0.02%
==========================================
  Files          49       49
  Lines        7940     7954      +14
==========================================
+ Hits         6956     6970      +14
  Misses        984      984

Impacted Files
Coverage Δ

reframe/core/logging.py
84.61% <0.00%> (+0.08%)
:arrow_up:

reframe/utility/__init__.py
92.12% <0.00%> (+0.17%)
:arrow_up:

Continue to review full report at Codecov.

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


No filter is generated for a free text term

I just got a browser error on checking an annotation box
Slack Message
Discovered by @ppavlidis

Hey Guillaume, did you already sort this error? I was able to recreate it a couple days ago but now AIN93G is not an option in any category.

Nevermind I was able to pull it up with a taxon filter. So I think I see what the problem is, there is no termUri being added to the filter because there is no termUri associated with this termName. Did you want the solution to this to be to not show termNames with no termUri in the treeview in the first place? Or did you want me to try to get the box to function without a termUri?

commit 2a7cfef787508694dae6ae79e4ebd0a7f5fa89e9


reformat

here dude, I decided I'd just make it a PR :) maybe it's silly
cheers

This PR has fallen out of date, as others changes have since landed. If you still want this change to be in provinces, add a comment here.


Add functions to autofix PHP time zone

Add a function to suggest time zones compatible with the database one.
Users will pick a time zone, that will set the app.server_timezone concrete5 configuration key.
To test this, you can change the date.timezone PHP.ini configuration key to something different from the MySQL timezone.

Neat, one thing I saw recently (credits to phabricator) is it would alert you that your browser time zone doesn't match your user time zone and let you update it via dialog.

We could try to detect visitors time zone automatically starting from javascript... that would be really useful

PS: about this PR: I can't get a working version of it with correctly styled dialog...

Different issue, just thought I'd mention it since it's along the same lines

Different issue, just thought I'd mention it since it's along the same lines

:+1: ➡ https://github.com/concrete5/concrete5/issues/4898

This pull request should be ready to be merged.
Sample screenshots:

Very cool

Very nice.
I've been struggling with different creating and public date/time on a site.
This should once and for all synchronize the time.
Has it been implemented ?

Sure: version 8.2 should fix the timezone handling (both at install time and via the /dashboard/system/basics/timezone dashboard page

Sorry to ask, but 8.2 ? of core of an add-on?
from /dashboard/system/basics/timezone I can only choose to activate/deactivate "Enable user defined time zones."
I don't have anywhere to choose the timezone, except for each user if this option is activated.

These features are part of concrete5 version 8.2.
concrete5 version 5.6.x is the so called legacy version, and no new features are planned for it.
By the way, upgrading from concrete5 5.6 to 5.7 (or from 5.6 to 8.x) may require a lot of work (in particular if you use 3rd party or custom addons).
@fmaruna just published a blog post describing why this breaking change has been made.


Fix deprecation warning

Thank you for the Action @theowenyoung !
Could you please update the toolkit import

[@octokit/rest] `const Octokit = require("@octokit/rest")` is deprecated. Use `const { Octokit } = require("@octokit/rest")` instead

There's also a deprecation warning for set-output.
Warning: The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/


Add trackAllContentImpressions to record/enable content tracking

Thank you for this plugin!
This PR adds _paq.push(['trackAllContentImpressions']); after trackPageView to record content impressions on the new page.
More details at https://developer.matomo.org/guides/content-tracking

The code climate failure isn't related to the changed code. Would you like me to add their suggestion anyway to get it passing?


Limit vectorization tile sizes

The immediate motivation is fixing a long compilation time for a linalg fusion that was taking 40 seconds to compile due to too-large vectorization tile sizes, and takes 0.6 seconds with this PR: https://gist.github.com/stellaraccident/83b357bbe2da31d5872cdbfcdd93aeea#file-example-mlir
However this addresses a more general issue: we've known that vectorization tile sizes should be limited to what needs to fit within register space vs. how big register space is, so this implements that on some common CPU architectures where register space size is a compile-time constant.

Looks good!
I think it could still be good to have an issue to keep track of the non-Po2 type case. AFAIK it's still unclear how they will be handled in MLIR/IREE, so we may want to revisit this later (or take this into account when making design decisions).

Good idea, filed #17178 and referenced it in a TODO.

Looking after vacation. The benchmark runs dont actually show the case that this fixed. I am wondering if that should be added somewhere since it caught a real bad case.


Fill in older project_stats

Write a script to examine our older data to fill in our new project_stats fields:

projects_edited (# projects where updated_at > created_at)
active_projects
active_in_progress
active_edited_projects
active_edited_in_progress

The last 4 are based on "last 30 days" calculations.

Nobody really worries about this old data, so let's not bother.


When a field with remote validation is automatically filled by the browser and the remote validation fails the form validation causes other fields in form to unhighligh

Given a field with remote validation, when the field is automatically filled by the browser (auto complete) or by the server, validating the form with the remote validation failing causes the other fields with errors to unhighligh.
From my analysis to the code it seems that the problem is in the "showErrors" function, the error list is cleared and only adds the remote error. This causes all other fields with error to unhighligh.
Code:
// add items to error list and map
$.extend( this.errorMap, errors );
this.errorList = [];
for ( var name in errors ) {
  this.errorList.push({
    message: errors[name],
    element: this.findByName(name)[0]
});

If I remove
this.errorList = [];

the other fields with error continue highlighted as expected.
I didn't see a reason why that line is there. The comment before also says "add items to error list and map", so I don't understand why the list is cleared.
Can the line clearing the error list be removed?

I'm sorry for the lack of activity on this issue. Instead of leaving it open any longer, I decided to close old issues without trying to address them, to longer give the false impression that it will get addressed eventually, especially after several years with no activity. It doesn't mean I'm abandoning the project, just that I'm unable to work through 200+ open issues with the little time I can afford to spend on this project.
To the reporter (or anyone else interested in this issue): If you're still affected by the same issue, please consider opening a new issue, with a testpage that demonstrates the issue with a current version of the plugin. Even better, make an attempt to fix the issue yourself, and improve the project by sending a pull request. This may seem daunting at first, but you'll likely learn some useful skills that you can apply elsewhere as well. And you can help keep this project alive. We've documented how to do these things, too. A patch is worth a thousand issues!


Warning: Illegal string offset

Hi,
In database setup page I'm facing this issue:
Warning: Illegal string offset 'db_host' in /home/<username>/public_html/billing/core/classes/System/Config.php on line 54

Warning: Illegal string offset 'db_name' in /home/<username>/public_html/billing/core/classes/System/Config.php on line 54

Warning: Illegal string offset 'db_username' in /home/<username>/public_html/billing/core/classes/System/Config.php on line 54

Warning: Illegal string offset 'db_pass' in /home/<username>/public_html/billing/core/classes/System/Config.php on line 54

How to fix it?

I don't see these errors... Reinstall please


compiler resolves math in calc function incorrectly

Currently I have some Scss that looks like this:
.search-container {
	width: calc(100% - 20px);
	margin: 0 10px;
}

However, when it runs through gulp-sass, it is converted to:
.search-container {
	width: calc(80%);
	margin: 0 10px;
}

The more I'm looking at the Sass library, the more I'm thinking this is their issue... closing.


Custom keybindings not responding in REPL entry

Hello. I updated today to 1.4.7 and have found some misbehavior with the text entry from the previous version I was using.
I use a Finnish keyboard, and a set of custom keybindings to rebind the ö, ä, and å keys to the braces. See here: https://gist.github.com/jarcane/468687e98176c1c4c8a7ba924dafdf46 (the use of `, , and ] refers to the ö/ä/å keys, because Atom uses the American keymap only, internally)
Unfortunately, these keys don't work in the Proto-REPL pane, at all. It seems to simply ignore input from those keys entirely; I get no input.
I've also found that the automatic pairing of braces from Paredit isn't honored in the Proto-REPL window either, though that should perhaps be filed as a separate issue?

I think this is an issue in Atom Ink console so I've filed an issue there. I've had similar problems using it. You can use the previous REPL type through the Proto REPL settings. It should still work like it previously did.

@jarcane The immediate fix for the keybinding issue is to use the keyboard-localization-package, which works great for me even in the console.


Add possibility to edit color scheme with Obsidian's style settings plugin

As suggested by @t-molder in #37
See https://github.com/mgmeyers/obsidian-style-settings for more

Allow for manually overriding colors?
Maybe a simple toggle to switch to high contrast dark mode?
At the very least a toggle to disable highlighting the active line (see #34)


Error: local variable 'temp_dir_' referenced before assignment

When running prim_atm_6hr.py I get:

Traceback (most recent call last):
  File "./prim_atm_6hr.py", line 62, in
    main(sys.argv[1:])
  File "./prim_atm_6hr.py", line 59, in main
    ece2cmor.perform_ifs_tasks(outputfreq = 6,tempdir = opt.temp,maxsizegb = 128,taskthreads = 16)
  File "/home/sm_wyser/ece2cmor3/testing/ece2cmor.py", line 85, in perform_ifs_tasks
    ifs2cmor.cleanup(ifs_tasks)
  File "/home/sm_wyser/ece2cmor3/testing/ifs2cmor.py", line 120, in cleanup
    if(cleanupdir and tempdir_created_ and len(os.listdir(temp_dir_)) == 0):
UnboundLocalError: local variable 'temp_dir_' referenced before assignment

The error disappears automagically when I run ./prim_at_6hr.py a 2nd time...

This is typical strange python behavior. But it should not appear again after commit 3f416651ab1f551a99a99bddeb87487507e9479a


[Issue]: Cannot search for words

Issue Description
There isn't any search functionality
Duplicate Steps
CTRL+F or File -> find don't exist
Expected Results
A window to search a word
Version Detected
1.0.1
Attachments
No response

Very complex to add this feature, hence this feature is postponed.


服务器怎么跑起来啊？对新手不友好啊

You can reference the build/build.sh

感谢作者的回答，有没有稍微详细点的教程啥的，新手完全不知道咋用

It's a regular Golang project and doesn't contain extra setup for running it. You can file an issue if some problem occurred or join the WeChat group.


fix(driver/bpf) honor CLANG and LLC from the env

the configure subsystem currently relies on
clang and llc being available.
However, building drivers in a containerized
environment might actually want to leverage
a specific CLANG version.
So just like we did for CC on the kmod driver,
have those variables passed over to the
configure subsystem.

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area API-version

/area build

/area CI

/area driver-kmod

/area driver-bpf

/area driver-modern-bpf

/area libscap-engine-bpf

/area libscap-engine-gvisor

/area libscap-engine-kmod

/area libscap-engine-modern-bpf

/area libscap-engine-nodriver

/area libscap-engine-noop

/area libscap-engine-source-plugin

/area libscap-engine-savefile

/area libscap

/area libpman

/area libsinsp

/area tests

/area proposals

Does this PR require a change in the driver versions?

/version driver-API-version-major

/version driver-API-version-minor

/version driver-API-version-patch

/version driver-SCHEMA-version-major

/version driver-SCHEMA-version-minor

/version driver-SCHEMA-version-patch

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: iurly
Once this PR has been reviewed and has the lgtm label, please assign hbrueckner for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

driver/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Will double check with driverkit ;)

Driverkit said :ok:

level=DEBUG msg="Built target bpf"
level=DEBUG msg="+ ls -l driver/bpf/probe.o"
level=DEBUG msg="-rw-r--r-- 1 root root 7912008 Mar 28 09:00 driver/bpf/probe.o"

:rocket:
/milestone 0.16.0

LGTM label has been added.  Git tree hash: 57b0aee0f1646ac6f630541d22a4dd64fae87f98

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, iurly
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@FedeDP notice I squashed the two commits together as I didn't want two commits to end up in the master branch :-)

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, iurly
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [Andreagit97,FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


type promotion of upper bound does not work inside closures

Consider this example:
void f/*<T extends num>*/(T x, T y) {
  var f = () => x;
  f = () => y;
  if (x is int) {
    var q = x;

    // BUG HERE
    // This does not capture the type `T extends int`. Instead the return type
    // is `T extends num`. What happens is we substitute {T/T} on the function
    // type, and the way it is implemented, this leads back to `T extends num`.
    var g = () => x;
    g = f;
    /*info:DYNAMIC_INVOKE*/g()./*error:UNDEFINED_GETTER*/isEven;
    q = /*warning:DOWN_CAST_COMPOSITE*/g();
    int r = x;
  }
}

The substitution does not happen correctly here. Note the lazy substitution is also unnecessary when it's just {T/T}.

this is a loose end from the fix to #27040

I think this will be fixed in https://codereview.chromium.org/2456803004/

This was indeed fixed in https://github.com/dart-lang/sdk/commit/f021a7019b0ba8515457d0bceb56af62273fb735


Performance improvement to QubitManager for Borrowing.

Performance improvement to QubitManager for Borrowing. This performance issue has been noted by me before and documented as TODO, but its resolution has been delayed. We have hit it recently while benchmarking, so it is time for a fix.

Lgtm.
We have had microbenchmarks at some point where I believe this has popped up previously. Unfortunately we have never gotten around to integrate these microbenchmarks into our Solid build. It would still be a good opportunity to revive that effort and see if we can add some perf tests for this.

Yes, it would be great to revive that effort find the benchmarks and integrate them! This checkin improves assymptotic complexity, so it should improve the results of those benchmarks for large numbers of qubits.

In reply to: 623739869 [](ancestors = 623739869)