primordic/IssueDupesLite huggingface dataset:
Repository: assaf/vanity

Issue #10: A/B test is not tracking alternatives
Created: 2010-03-23T13:48:23Z
Hi,
I'm having an issue where Vanity is successfully tracking a metric, but not giving me numbers for the alternatives. This screenshot shows the problem. Out of 1,245 participants, 0.0% for each alternative. But I know that people have signed up. 16, in fact. Looking at my data in Redis, vanity:1:signup_text_size:alts:0:conversions is 10 and vanity:1:signup_text_size:alts:1:conversions is 6.
Here's my a/b test:
ab_test "Signup text size" do
description "Does increasing the size of the signup text increase signups"
alternatives "big", "normal"
metrics :signup
end
Here's the metric:
metric "Signup" do
description "Measures how many people signed up"
end
Here's UsersController#create:
def create
@user = User.new(params[:user])
if @user.save
track! :signup
flash[:message] = "Thank you for signing up! You are now logged in."
redirect_back_or_default account_url
else
render :action => :new
end
end
And then in the layout template I have:
%ul{:class => ab_test(:signup_text_size)}
Any idea what I'm doing wrong here? I can verify that folks are seeing each alternative. Vanity is clearly tracking the metric. Why is there no percentage for each alternative?
Thanks,
Alex

Duplicate issue #140: Vanity identifies separate participants before/after log in
Created: 2013-10-11T12:54:40Z
I.e. Vanity will show different alternatives to a user before/after logging in, if current_user returns nil before login and then the user object after login.
To fix this, instead of a use_vanity :current_user, we're using use_vanity :previous_vanity_cookie_or_current_user with
  # Default Vanity check's current_user with a fall back to a cookie. However,
  # with user sign in, it's possible to visit the site not-logged in, get
  # cookied and shown alternative A, then sign in and based on user.id, get
  # shown alternative B.
  # This implementation prefers an initial vanity cookie id over a new user.id
  # to avoid the flash of alternative B (FOAB). Of course, it falls back to default
  # Vanity cookie if all are nil.
  # The returned object must respond to `id` so a struct is used.
  def previous_vanity_cookie_or_current_user
    @vanity_user ||= Struct.new(:id)
    vanity_user = @vanity_user.new(cookies["vanity_id"]) if cookies["vanity_id"]
    vanity_user || current_user
  end

Closing comment (2013-11-05T02:17:35Z): Closing in favor of #49 as it's got the potential to fix this. Also related to #10.
Repository: assaf/vanity

Issue #195: Vanity dashboard continues to update after experiment stopped
Created: 2014-02-26T16:36:55Z
I clicked the "make this option permanent" button next to an option in the vanity dashboard after I was satisfied that I had enough participants to make the decision. The experiment changed state in the dashboard (the finished timestamp is visible at the bottom), but checking it again today I see that the numbers continue to update (the selected option now has more participants). Is that expected behaviour? I expected the experiment results to "freeze" at the point where I stopped the experiment.
I am using the javascript registration and a redis backend, if that is relevant.

Duplicate issue #345: Finish a/b test
Created: 2018-06-12T22:12:01Z
When we choose winner of a/b test and then click on link "make permanent" we confirm with, for example "Finish this experiment and assign all current and future participants to option B?". What I need to do if I don't want to assign all future participants to option B? I just want to close test without assign participants any more.

Closing comment (2018-06-13T14:32:40Z): Ah, I think this may be a dupe of #195 ?
Repository: assaf/vanity

Issue #105: vanity --help => vanity:19: stack level too deep (rails 3.2.2, ruby 1.9.3, vanity 1.8.0)
Created: 2012-04-03T04:31:15Z
$ ruby -v
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0]

$ bundle list
...
  * rails (3.2.2)
...
  * vanity (1.8.0)

$ bundle exec vanity --help
/Users/drnic/.rvm/gems/ruby-1.9.3-p125/bin/vanity:19: stack level too deep (SystemStackError)

Duplicate issue #99: Depend on bundler at runtime is flawed
Created: 2012-03-27T14:20:26Z
Hello,
I've tried to use Vanity 1.8.0 or 1.7.1 and suffered issues due vanity depending on gems that are not marked as dependencies of the vanity gem, causing failures like this:
Version 1.7.1

$ vanity report --output vanity.html
Could not find gem 'jekyll (>= 0) ruby' in the gems available on this machine.
Run `bundle install` to install missing gems.


Version 1.8.0

$ vanity report --output vanity.html
fatal: Not a git repository (or any parent up to mount parent )
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount parent )
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount parent )
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount parent )
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount parent )
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount parent )
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Could not find rake-0.9.2.2 in any of the sources
Run `bundle install` to install missing gems.

The issue seems to come from this:
https://github.com/assaf/vanity/blob/master/bin/vanity
Your script depending on Bundler, attempting to install dependencies in development mode, which is affecting the Gemfile of the Rails project.
I believe that Vanity should be explicit about it's dependencies in the gemspec, and those should be required by your scripts, not by using Bundler.
This affects bundle exec and any invoke of vanity from the command line, as shown above (this happens with 1.7.1 or 1.8.0)
Even worse on 1.8.0, which depends on rake 0.9.2.2 which contradicts my current application dependencies.
Please change bin/vanity script be a simple script that perform the CLI part of Vanity and don't attempt to load Bundler/RubyGems or anything from the Gemfile.lock that will affect other application running.
Thank you ❤️

Closing comment (2013-10-01T12:20:37Z): Closing as related to #105.
Repository: assaf/vanity

Issue #81: Inappropriately accesses the database during initialization
Created: 2011-11-06T20:04:27Z
In Rails 3, when running rake assets:precompile, Vanity tries to access the production Redis database. It also tries to access the SQL database if model is specified in a a metric. Unfortunately, in an app that runs on Heroku, the production database is never specified and/or accessible from the local console.
I'm not sure exactly why it would be accessing the databases when even ActiveRecord doesn't, but it needs to somehow access the information lazily rather than actively.

Duplicate issue #295: config/vanity.yml not used by db:create and db:migrate
Created: 2016-03-16T17:44:57Z
This is a follow up from #277:
After @phillbaker suggestion vanity seems to be querying the correct database (defined in vanity.yml), resulting in FATAL:  database "hotsite_vanity_dev" does not exist, because db:create and db:migrate still take effect on database defined in database.yml.
Also, if I force vanity.yml to be used on create/migrate, activesupport will complain because it doesn't know what to do with "active_record" adapter
Any suggestions?

Closing comment (2016-05-18T10:51:58Z): I might be wrong but I think this change reintroduces some issues related to #81 and #77.
I cannot run rake db:migrate in production on Heroku because before the migrations run Vanity attempts to load all my experiments, which tries to access my DB (I'm using the ActiveRecord adapter), which doesn't work because I need the migration to run first.
This is because schema_relevant? returns true (because I'm running a DB task), causing Vanity.load! to run in the Rails initialiser during my rake task, causing the entire playground to load.
Repository: assaf/vanity

Issue #140: Vanity identifies separate participants before/after log in
Created: 2013-10-11T12:54:40Z
I.e. Vanity will show different alternatives to a user before/after logging in, if current_user returns nil before login and then the user object after login.
To fix this, instead of a use_vanity :current_user, we're using use_vanity :previous_vanity_cookie_or_current_user with
  # Default Vanity check's current_user with a fall back to a cookie. However,
  # with user sign in, it's possible to visit the site not-logged in, get
  # cookied and shown alternative A, then sign in and based on user.id, get
  # shown alternative B.
  # This implementation prefers an initial vanity cookie id over a new user.id
  # to avoid the flash of alternative B (FOAB). Of course, it falls back to default
  # Vanity cookie if all are nil.
  # The returned object must respond to `id` so a struct is used.
  def previous_vanity_cookie_or_current_user
    @vanity_user ||= Struct.new(:id)
    vanity_user = @vanity_user.new(cookies["vanity_id"]) if cookies["vanity_id"]
    vanity_user || current_user
  end

Duplicate issue #10: A/B test is not tracking alternatives
Created: 2010-03-23T13:48:23Z
Hi,
I'm having an issue where Vanity is successfully tracking a metric, but not giving me numbers for the alternatives. This screenshot shows the problem. Out of 1,245 participants, 0.0% for each alternative. But I know that people have signed up. 16, in fact. Looking at my data in Redis, vanity:1:signup_text_size:alts:0:conversions is 10 and vanity:1:signup_text_size:alts:1:conversions is 6.
Here's my a/b test:
ab_test "Signup text size" do
description "Does increasing the size of the signup text increase signups"
alternatives "big", "normal"
metrics :signup
end
Here's the metric:
metric "Signup" do
description "Measures how many people signed up"
end
Here's UsersController#create:
def create
@user = User.new(params[:user])
if @user.save
track! :signup
flash[:message] = "Thank you for signing up! You are now logged in."
redirect_back_or_default account_url
else
render :action => :new
end
end
And then in the layout template I have:
%ul{:class => ab_test(:signup_text_size)}
Any idea what I'm doing wrong here? I can verify that folks are seeing each alternative. Vanity is clearly tracking the metric. Why is there no percentage for each alternative?
Thanks,
Alex

Closing comment (2013-11-05T02:18:18Z): Closing as this is fixed in #49, will centralize comments there. Also related to #140 .
Repository: assaf/vanity

Issue #151: Determine if Garb gem is still functional
Created: 2013-11-05T02:04:10Z
As reported here, and on the mailing list Garb may no longer be working with the Google Analytics API. Investigate whether a new gem such as Gattica may be needed.
http://vanity.labnotes.org/metrics.html#ga <- this should be updated

Duplicate issue #220: Vanity works with  garb  0.8.x or below (not above)
Created: 2014-07-12T00:09:32Z
Garb is on version 0.9.x. but Vanity only runs on  garb 0.8.x.
The google metric file breaks when it tries to call Grab::Resource.

Closing comment (2014-07-12T02:26:38Z): Hm, thanks for the report. Looks related to #151
Repository: assertj/assertj

Issue #4: Complete API javadoc with code examples
Created: 2013-03-20T16:43:56Z

Duplicate issue #349: Javadoc code example for common assertions
Created: 2015-03-15T22:27:49Z
ex : isEqualTo

Closing comment (2015-04-26T09:57:41Z): Sorry if I'm mistaken, but could this be a duplicate of #4 ?
Repository: assertj/assertj

Issue #3491: Ambiguous `assertThat` for `Temporal` instance implementing `Comparable`
Created: 2024-05-27T04:06:27Z
Describe the bug
The upgrade to 3.26.0 results in a compilation error when invoking assertThat() with an argument of type java.time.Year.

assertj core version: 3.26.0
java version: 17

Test case reproducing the bug
@Test
void example() {
    Year year = Year.now();
    assertThat(year).isNotNull();
}

Duplicate issue #3516: reference to assertThat is ambiguous when asserting a `java.time.Year`
Created: 2024-06-20T14:21:25Z
Describe the bug
Since 3.26.0 we cannot use assertThat on a java.time.Year: reference to assertThat is ambiguous

assertj core version: 3.26.0
java version: 17
test framework version: JUnit5

Test case reproducing the bug
import org.junit.jupiter.api.Test;

import java.time.Year;

import static org.assertj.core.api.Assertions.assertThat;

class YearDemo {

	@Test
	void testYear() {

		Year year = Year.now();

		// java: reference to assertThat is ambiguous
		//  both method <T>assertThat(T) in org.assertj.core.api.Assertions and method assertThat(java.time.temporal.Temporal) in org.assertj.core.api.Assertions match
		assertThat(year).isEqualTo(Year.now());
	}
}

Closing comment (2024-06-20T14:57:46Z): Thanks for reporting it, @thunderhook!
The same was reported in #3491 and will be addressed in 3.26.1.
As a temporary workaround, you can cast year to a Temporal:
assertThat((Temporal) year).isEqualTo(Year.now());
In light of that, I'm closing this one as a duplicate.
Repository: assertj/assertj

Issue #2466: Don't use reflection to compare AtomicReference in the recursive comparison 
Created: 2022-01-12T20:41:13Z
Summary
Don't use reflection to compare AtomicReference in the recursive comparison as it fails in java 17.
https://stackoverflow.com/questions/70670884/assertj-issue-with-assertions-assertthat-usingrecursivecomparison-ignoringf/70688101#70688101

Duplicate issue #2254: Java Warning: An illegal reflective access operation has occurred when recursive comparison with compiled Regex Pattern
Created: 2021-06-13T13:16:39Z
Summary
I have a test, where I use Mockito Captor to capture the argument for a function of a mocked class.
This function gets an object with a compiled regex pattern inside.
I manually build an expected object on the same way and assert equality with assert4j.
So, everything works fine and the comparison fails, if I change my expected regex, but Java puts out this warning, when running the test:
/usr/lib64/jvm/java-11-openjdk-11/bin/java ...
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.assertj.core.util.introspection.FieldUtils (file:/..../repository/org/assertj/assertj-core/3.18.1/assertj-core-3.18.1.jar) to field java.util.regex.Pattern.cursor
WARNING: Please consider reporting this to the maintainers of org.assertj.core.util.introspection.FieldUtils
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
I am not sure, if it is a problem with org.mongojack.DBQuery (but that's only some value holding object), with Mockito or with assertj, but Java told me, to report it to you :-)
Example
I hope the example gives you a clue, I unfortunately don't have the time, to build an independend and fully working/reproducing example.
import org.mongojack.DBQuery;

...

@Captor
private ArgumentCaptor<DBQuery.Query> queryCaptor;

...

DBQuery.Query expectedFilter = DBQuery.and(
                DBQuery.regex("id", Pattern.compile(".*((?i)aaa123).*", Pattern.CASE_INSENSITIVE)),
                DBQuery.regex("textfeld", Pattern.compile(".*((?i)Haha).*", Pattern.CASE_INSENSITIVE)));
when(mockedClass.someFunction(queryCaptor.capture())).thenReturn("result");

testedClass.doStuff();

assertThat(queryCaptor.getValue()).usingRecursiveComparison().isEqualTo(expectedFilter);

Closing comment (2022-04-15T11:02:58Z): Related to #2466 and #2450, fixed with 7406133.
Will be part of 3.23.0.
Repository: assertj/assertj

Issue #178: Feature request: isEqualToComparingFieldByField - recursive
Created: 2014-02-23T15:53:32Z
I like the idea of isEqualToComparingFieldByField, but it is of limited use when some of the fields are objects without Equals being overriden.
I would like to have an option to use isEqualToComparingFieldByField recursively, instead of falling back to org.assertj.core.util.Objects.areEqual.

Duplicate issue #265: usingFieldByFieldElementComparator doesn't work for list fields
Created: 2014-11-12T17:42:06Z
Suppose I have objects like:
{ 
  "myList": [
      {
          "foo": "bar
      }
  ]
}

Doing: assertThat(list).usingFieldByFieldElementComparator().contains(item); I end up in org.assertj.core.util.Objects#areEqual which calls List.equals() and then it doesn't use field comparison anymore

Closing comment (2014-11-12T21:39:51Z): your friendly javadoc says that getters would make it work ;-)
Recursive comparison has already been reported in #178, I'm closing this non issue.
Repository: assertj/assertj

Issue #365: Asserting for interfaces resulting in Ambiguous method error under Java 8
Created: 2015-04-07T20:07:27Z
import org.assertj.core.api.Assertions;

public class Ambiguous {

    public static void main(String... args) {
        Assertions.assertThat(caughtException());
    }

    public static <E extends Exception> E caughtException() {
        return null;
    }
}
Error message (for Java 8 only!):
javac -source 1.8 Ambiguous.java  -classpath assertj-core-3.0.0.jar                                                                     
Ambiguous.java:6: error: reference to assertThat is ambiguous
        Assertions.assertThat(caughtException());
                  ^
  both method assertThat(CharSequence) in Assertions and method assertThat(Throwable) in Assertions match
1 error

Explanation:
http://stackoverflow.com/questions/29499847/ambiguous-method-in-java-8-why/29500086#29500086
Maybe we can change this API, deprecate conflicting methods and remove it in future releases?

Duplicate issue #745: [java8] assertThat is ambiguous for Comparable
Created: 2016-08-22T13:51:15Z
Summary
Custom assertion for class implementing Comparable causes compilation errors under Java 8. This happens only when Comparable class is parametrized. Tested with assertj-core 3.5.2
Example
public class MyClass<T> implements Comparable<MyClass<T>> {
    @Override
    public int compareTo(MyClass<T> o) {
        return 0;
    }
}
public class MyClassAssert extends AbstractAssert<MyClassAssert, MyClass<?>> {
    public MyClassAssert(MyClass<?> actual) {
        super(actual, MyClassAssert.class);
    }
}
public class MyAssert extends org.assertj.core.api.Assertions {
    public static MyClassAssert assertThat(MyClass<?> myClass) {
        return new MyClassAssert(myClass);
    }
}

import static MyAssert.assertThat;
public class MyClassTest {
    public static void test() {
        assertThat("abc").isEqualTo("abc");
        MyClass<String> myObj = new MyClass<>();
        assertThat(myObj).isEqualTo(myObj);
    }
[ERROR] MyClassTest.java:[6,9] reference to assertThat is ambiguous
[ERROR] both method assertThat(MyClass<?>) in MyAssert and method assertThat(T) in org.assertj.core.api.Assertions match
Java 8 specific ?
YES : create Pull Request from the master branch

Closing comment (2016-08-22T19:08:24Z): I know Java 8 is stricter than Java 7 concerning generics, gut feeling is this is the same as #365 but I haven't fully analysed the problem.
Repository: assertj/assertj

Issue #2329: `isDirectoryContaining` fails for expected patterns
Created: 2021-09-01T09:38:49Z
Let's assume that there is a directory C:\Temp\junit12854012982575283912 which contains a file test-6e672c4ba0be4f0886d434125a0d062c.txt.
The assertion of assertThat(dir).isDirectoryContaining("glob:test-[0-9a-f]*.txt") and assertThat(dir).isDirectoryContaining("regex:test-[0-9a-f]+\\.txt") fails although it is not expected do so.
The error messages is confusing and does not give a hint why this pattern would be wrong.
Expecting directory:
  C:\Temp\junit12854012982575283912\out
to contain at least one file matching the 'glob:test-[0-9a-f]*.txt' pattern but there was none.
The directory content was:
  [test-6e672c4ba0be4f0886d434125a0d062c.txt]

Using the same with a PathMatcher succeeds.
assertThat(dir.getFileSystem().getPathMatcher("glob:test-[0-9a-f]*.txt").matches(Path.of("test-6e672c4ba0be4f0886d434125a0d062c.txt"))).isTrue();
assertThat(dir.getFileSystem().getPathMatcher("regex:test-[0-9a-f]+\\.txt").matches(Path.of("test-6e672c4ba0be4f0886d434125a0d062c.txt"))).isTrue();

There is also a difference between using Path instead of File. If the directory variable is of type Path, the error outputs the absolute paths of the file in the directory. That gives a hint about what might be wrong.
Expecting directory:
  C:\Temp\junit12854012982575283912\out
to contain at least one file matching the 'glob:test-[0-9a-f]*.txt' pattern but there was none.
The directory content was:
  [C:\Temp\junit12854012982575283912\out\test-6e672c4ba0be4f0886d434125a0d062c.txt]

isDirectoryContaining tests against the absolute path of the files although it should test against their relative paths. The patterns from my example will of course never match against the absolute path! Using "glob:**test-[0-9a-f]*.txt" works but the expectation when using the API is that the paths are relative. If it is really the intention to test against the absolute path, the docs should be very clear about this.
p.s.
This example in the javadoc .isDirectoryContaining("glob:**.{ext,bin") is missing a closing "}". It should be .isDirectoryContaining("glob:**.{ext,bin}").

Duplicate issue #2338: `isDirectoryRecursivelyContaining(String)` should apply filter pattern to filenames only
Created: 2021-09-09T19:35:41Z
Similar to #2329, isDirectoryRecursivelyContaining(String) should apply the filter pattern to filenames only and not to the entire path.
Together with this change, the existing assertion tests for both variants with String and Predicate should be refactored to use the same style introduced with #2292 and to inherit from PathsBaseTest instead of PathsSimpleBaseTest, which should be deleted eventually.

Closing comment (2021-11-18T12:38:47Z): The validity of this proposal is not confirmed yet (related to #2329 (comment)).
Repository: assertj/assertj

Issue #1424: Recursive comparison should to compare Optional field values recursively
Created: 2019-02-06T15:04:58Z
Summary
When using isEqualToComparingFieldByFieldRecursively with classes that contain optional fields, the comparison fails by comparing reference instead of the fields.
Expected solution would be to check if optional is present and compare the fields in the optional value.
The below unit test can be used to test the case.
Example
class Author {

    private String name;

    public Author(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

class Book {

    private Optional<Author> coAuthor;

    public Book(Author author) {
        this.coAuthor = Optional.ofNullable(author);
    }

    public Optional<Author> getCoAuthor() {
        return coAuthor;
    }
}

public class SimpleOptionalTest {

    @Test
    public void testOptionalField() {
        Book book1 = new Book((new Author("test")));
        Book book2 = new Book((new Author("test")));
        assertThat(book1).isEqualToComparingFieldByFieldRecursively(book2);
    }
}

Duplicate issue #1726: list containsExactlyInAnyOrderElementsOf with usingRecursiveFieldByFieldElementComparator does not honor Optionals
Created: 2019-12-11T15:14:58Z
Summary
When you combine containsExactlyInAnyOrderElementsOf  with usingRecursiveFieldByFieldElementComparator  and also have getters with optionals, they will not be honored
Example
package assertj;

import static org.assertj.core.api.Assertions.assertThat;

import java.util.List;
import java.util.Optional;

import org.junit.jupiter.api.Test;

public class TestClass {

	public static class Class1 {

		private final String value;

		public Class1(final String value) {
			this.value = value;
		}

		public String getValue() {
			return value;
		}

		@Override
		public String toString() {
			return "Class1 [value=" + value + "]";
		}
	}

	public static class Class2WithOptional {

		private final Class1 value;

		public Class2WithOptional(final Class1 value) {
			this.value = value;
		}

		public Optional<Class1> getValue() {
			return Optional.ofNullable(value);
		}

		@Override
		public String toString() {
			return "Class2WithOptional [value=" + value + "]";
		}
	}

	@Test
	void testRecursiveEquals() {
		Class2WithOptional testClass1 = new Class2WithOptional(new Class1("value"));
		Class2WithOptional testClass2 = new Class2WithOptional(new Class1("value"));

		assertThat(testClass1)
				.usingRecursiveComparison()
				.isEqualTo(testClass2);
	}

	@Test
	void testRecursiveEqualsOnList() {
		Class2WithOptional testClass1 = new Class2WithOptional(new Class1("value"));
		Class2WithOptional testClass2 = new Class2WithOptional(new Class1("value"));

		var list1 = List.of(testClass1);
		var list2 = List.of(testClass2);

		assertThat(list1)
				.usingRecursiveFieldByFieldElementComparator()
				.containsExactlyInAnyOrderElementsOf(list2);
	}
}

Closing comment (2019-12-11T20:24:18Z): @Brummolix which version are you using? I'm wondering if this is related to #1424.
Repository: assimp/assimp

Issue #3792: Update the zip contrib to latest head
Created: 2021-04-23T09:42:14Z
In the current copy of zip in assimp, there is a yaml file which is executing a bash script from an untrusted web page which can be a problem if this is comprimised at all. The latest head for zip no longer does this so updating zip to latest head would be good here.

Duplicate issue #3831: Please upgrade the contrib/zip dependency
Created: 2021-04-28T07:17:52Z
Hello,
We've received reports that the zip dependency in contrib/zip (which itself is a clone of https://github.com/kuba--/zip/) ships with a link to codecov in some .yml file.
This is in the latest assimp master:
https://github.com/assimp/assimp/blob/74577ae3c79132b2d643ae667a1bd71e0a99f48f/contrib/zip/.travis.yml
These links trigger automatic code scanning tools, as codecov's bash has been recently compromised; you can read more about it here https://about.codecov.io/security-update/ . Although that shouldn't affect any assimp user (as users won't use the yml files in question), this compromises the ability of shipping assimp.
Upstream zip has already removed the links to codecov, for instance here: https://github.com/kuba--/zip/pull/118
So, I'd kindly like to ask to pull from upstream in order to get rid of that link from assimp's own sources, and make sure that all references to codecov are dropped in the next assimp's .zip release. Thank you!

Closing comment (2021-04-28T07:20:34Z): duplicate of #3792
Sadly I can’t provide an according patch because zip is used for export only and my own Assimp builds don’t use exports, so I would have trouble testing it.
Repository: assimp/assimp

Issue #4657: Bug: Current master branch Assimp::Importer::ReadFile takes ages to read obj file.
Created: 2022-07-24T15:20:55Z
Use the current master branch (on 24th July 2022), the Assimp::Importer::ReadFile takes ages to load a file. For example, an 8MB .obj file took 15 minutes to get loaded. When using an older commit (last one tested on my end SHA: e9b08f3) this loads in a second. This happens with either a static or dynamic library release build, using the default settings in cmake.

Duplicate issue #4653: Bug: Linux blocks on ObjFileParser::getFace
Created: 2022-07-20T15:46:37Z
Describe the bug
Today I updated assimp on my game engine to test some stuff and the Window wasn't loading, after doing a performance profile, I found the call libc-2.33.so __memmove_avx_unaligned_erms took up 99% of the CPU time of the program which ultimately means that there is a problem there. So I debugged to ultimately come to the ObjFileParser.cpp file in the getFace function, at which point I looked at recent commits that modified it and it turns out that the latest commit changing line 461 from
const int iVal(::atoi(&(*m_DataIt)));
to
std::string number(&(*m_DataIt), m_DataItEnd - m_DataIt);
const int iVal(::atoi(number.c_str()));
is what causes the issue. Changing the line to the one before the commit results in the model loading correctly and the scene loading as expected.
After testing the models models used for a bit to check if this applies to every model that is loaded, it turns out that only 3 out of the 8 models loaded cause the issue. Models are attached below.
To Reproduce

Load the first, second or third models provided below using the following code

Assimp::Importer importer;

const aiScene* scene = importer.ReadFile(location, aiProcess_Triangulate | aiProcess_FlipUVs | aiProcess_JoinIdenticalVertices);

Run the program

Expected behavior
For an Obj model to be loaded and not block on the getFace call, unfortunately I couldn't test on which iteration of the faces in the file it blocks due to it being too big
Screenshots
Results from the profiler:

**Platform information: **

OS: Linux Kernel 5.16.18_p1-r1-debian-sources, Funtoo Linux 1.4
Compiler and toolchains: Make, gcc 9.2, CMake 3.19.7, libc-2.33
Compiler options: -O3 --march=native
Assimp version: Latest master

Additional context
The models in question:
https://github.com/MadLadSquad/UntitledVulkanGameEngine/blob/master/Content/Engine/generic_object_sphere.obj
https://github.com/MadLadSquad/UntitledVulkanGameEngine/blob/master/Content/Engine/generic_object_torus.obj
https://github.com/MadLadSquad/UntitledVulkanGameEngine/blob/master/Content/Engine/generic_object_monkey.obj

Closing comment (2022-07-25T12:48:12Z): Possibly related to/duplicate of #4657
Repository: assimp/assimp

Issue #1702: Vertex Colours from gltf not loading
Created: 2018-01-11T07:21:42Z
https://github.com/KhronosGroup/glTF-Sample-Models/pull/143/files
I just tested out the new test model from Kronos and I see nothing in the mesh colours when loaded via assimp.

Duplicate issue #2246: Gltf2 Importer Doesn't Load Vertex Colors
Created: 2018-11-27T21:58:05Z
For example, the vertex color test model on the glTF 2.0 sample page: https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/VertexColorTest
does not contain any vertex colors.
More specifically, for every mesh,
mesh->GetNumColorChannels()
always returns 0, and
mesh->HasVertexColors(vertexIndex)
is false for every vertex.

Closing comment (2019-08-28T08:27:11Z): Status on this @kimkulling? Seems to be not working on my end. Also seems related to #1702 (#1702)?
Repository: assimp/assimp

Issue #1473: GLTF is crashing UWP Arm build
Created: 2017-10-04T23:37:18Z
Erro	C1189	#error:  Unknown machine endianess detected. User needs to define RAPIDJSON_ENDIAN.    (compilando arquivo de origem C:\Repos\assimp\code\glTFImporter.cpp)	assimp	C:\Repos\assimp\contrib\rapidjson\include\rapidjson\rapidjson.h	217

Duplicate issue #1472: GLTF 2 is crashing on Android compilation
Created: 2017-10-04T21:56:49Z

Closing comment (2017-10-17T14:49:20Z): Duplicate of #1473 ?
Repository: assimp/assimp

Issue #849: Imported Model is rotated by 90 degrees
Created: 2016-04-05T08:03:08Z
Hi,
I'm using the latest version of Assimp and Assimp.Net 3.0 release.
After Importing I'm getting the model rotated by 90 degrees.
Any suggestions on what I'm missing?

Duplicate issue #3703: Converting mesh loses transform (which can be seen in `meshlab`)? Ex: DAE to OBJ w/ PyAssimp
Created: 2021-03-12T21:15:15Z
Describe the bug
When converting a DAE mesh to OBJ, information seems to be lost... The following changes:

The node transformations change (OBJ have all identity transforms)
The mesh vertices change - the OBJ vertices seem like they should have the transform baked in, but...
In meshlab, the objects no longer line up (see screenshot below)

I was hoping (1) and (2) were done correctly, but (3) leads me to believe they're not?
Also, briefly looked if there were any tips 'n tricks here; seems not yet 😅
https://assimp-docs.readthedocs.io/en/latest/usage/use_the_lib.html#exporting-models ("ToDo!")
To Reproduce
See:

code dir w/ readme
pyassimp code
random shell code to repro
text output
teh mesh: https://raw.githubusercontent.com/ros-industrial/universal_robot/c8c27c15/ur_description/meshes/ur10/visual/base.dae

I observe this on both my system version: https://packages.ubuntu.com/bionic/python3-pyassimp (4.1.0~dfsg-3), if I do a rebuild of assimp@v4.1.0, and a rebuild of assimp@v5.0.1.
Expected behavior
The meshlab visualization matches?
Screenshots

Desktop (please complete the following information):

OS: Ubuntu 18.04
Browser: N/A
Version: Uh, Ubuntu 18.04?

Smartphone (please complete the following information):
N/A
Additional context
I work w/ Drake, and it can load robot models w/ certain mesh types. Colleagues and I sometimes import models from other frameworks, such as the following:
https://github.com/ros-industrial/universal_robot/tree/c8c27c15579fad1d817cc6cfac7a8e62a3da081d/ur_description/meshes/ur5/visual
At present, Drake does not support DAE meshes (RobotLocomotion/drake#2941), so colleagues and I do a quick conversion; we prefer pyassimp b/c it keeps things simple (when it works well ;).

Closing comment (2021-07-14T08:53:23Z): Might be related to: #849. It also seems to happen when using C++.
Repository: assimp/assimp

Issue #944: Large model issues
Created: 2016-07-12T14:37:53Z
I'm trying to import a relatively large model, it's 8 million vertices and 380MB in OBJ format and 130MB in FBX format. The memory consumption from assimp is quite excessive, at its peak it was around 29GB before settling down to 11GB. This process took over an hour due to my laptop only having 8GB of physical RAM.
I've managed to narrow this issue down to the mini-allocations that occur all throughout the code for the aiFace struct. I replaced this with one big allocation (similar to what is done in the "Improve Cache Locality" processing step) and this reduced the peak memory footprint to 1.7GB and loaded in under 16 seconds.
Unfortunately, my solution is very hacky and I've only made this change to the FBX importer and the main culprits in the post processing step. Currently my solution makes the assumption that the different file importers will never do mini-allocations for the indices but this isn't very intuitive nor is it possible to prevent this from occurring.
I think the best solution would be to have another array in the aiMesh struct for the indices, and change the aiFace struct to have an index into that array instead of a pointer. Unless there's a better or preferred solution to this problem?
I'm also more than happy to make the changes to get this working.

Duplicate issue #971: Endless importing of model
Created: 2016-08-10T10:16:16Z
Hi,
I tried to import this file: Link
And the Assimp importer never finished or crashed.
My importer code is:
importer.SetPropertyFloat(AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE, 45.0f);
importer.SetPropertyInteger(AI_CONFIG_PP_SBP_REMOVE, aiPrimitiveType_LINE | aiPrimitiveType_POINT); //SET THIS TO REMOVE POINTS AND LINES -> HAVE ONLY TRIANGLES
scene = importer.ReadFile(
  filename,
  aiProcess_Triangulate           |
  aiProcess_GenUVCoords           |
  aiProcess_GenSmoothNormals      |
  aiProcess_OptimizeMeshes        |
  aiProcess_OptimizeGraph         |
  aiProcess_FixInfacingNormals    |
  aiProcess_JoinIdenticalVertices |
  aiProcess_SortByPType
);

Closing comment (2016-08-16T07:07:55Z): You could try out the pull request related to aiFace alloc changes.
Chris notifications@github.com schrieb am Di., 16. Aug. 2016, 07:54:

May be related to: #944 #944
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#971 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACNy1Ac9wE7lJ6oKkRok8YSdhyniNXb6ks5qgVCpgaJpZM4Jg_el
.
Repository: assimp/assimp

Issue #4870: Bug: weird render problems (possibly due to strange vertex indices)
Created: 2023-01-11T03:54:01Z
(Updated w/screenshots of formerly misbehaving models now loading correctly, after author fixed his implementation)
Something screwy when I render certain 3D models, looks like attached screenshots

3D model link(s)Assimp result
Before fixAfter fix
test/models/BLEND/SuzanneSubdiv_252.blend









test/models/TER/RealisticTerrain_Large.ter





test/models/AC/sample_subdiv.ac


glTF-Binary/Buggy.glb
glTF-Embedded/buggy.gltf
glTF-MaterialsCommon/Buggy.gltf
glTF/Buggy.gltf


korean_public_payphone_01_1k.gltf


To reproduce:
Load and render any of the models linked in the table above
(Checked source for test/models/AC/sample_subdiv.ac in 66171de (the commit before many assets got corrupted) and that also has floating point indices so don't expect model corruption)
Inspecting the test/models/AC/sample_subdiv.ac ASCII model file, the first several surfaces are probably triangles.  Each line IIUC is the vertex index followed by floating point texture coordinates, e.g. here the 3rd triplet is vertex index 13 with texture coords 0, 0:
SURF 0x10
mat 0
refs 3
0 0 0
2 0 0
13 0 0

Further down in the model file, the surfaces become quads instead of triangles, and floating point texture coordinates are used in some cases; here the 4th vertex index 14 is followed by floating point 0.083, 1 texture coordinates:
SURF 0x10
mat 0
refs 4
25 0 1
13 0 0
2 0.0833333 0
14 0.0833333 1

likewise the below block has 4 vertex indices, all with floating point 1st texture coordinate:
SURF 0x10
mat 0
refs 4
23 0.833333 1
11 0.833333 0
12 0.916667 0
24 0.916667 1

And my app runs on OpenGL ES, which only supports triangles (so quads need to be pre-tesselated using post processing flag aiProcess_Triangulate)
So guessing maybe the quad surfaces may be to blame here, possibly confusing assimp's triangulate step(?)
Any ideas/insight would be much appreciated, thank you
Refs: The AC3D file format

Duplicate issue #3684: gltf 2.0 models OK but gltf 1.0 models have artifacts
Created: 2021-02-28T23:59:21Z
Comparing gltf 1.0/2.0 models from khronos demo archive
gltf 2.0 "buggy" renders OK:

gltf 1.0 "buggy" renders with artifacts:

Models can be downloaded from:
gltf 2.0 models
gltf 1.0 models

Closing comment (2024-12-15T01:50:17Z): In this case the problem was with my own implementation, since fixed (previously reported in #4870); mea culpa

glTF 1.0 "Buggy" ModelScreenshot
glTF
glTF Binary
glTF Embedded
glTF MaterialsCommon
Repository: assimp/assimp

Issue #4030: Bug: Fail loading .glb file with member "extras"
Created: 2021-08-13T05:07:17Z
I wrote a simple method using provided function from docs to read gltf/glb file. Most of time it works very well. Sometimes I meet error while loading files
Describe the bug
Error opening .glb file with assimp (5.0.1). Shows error:

Member "extra" was not of type "object" when reading meshes[0]

To Reproduce
Sample files for testing:
https://drive.google.com/drive/folders/1msySjZgHt-rZrD9-RwLdEmwYWaryQJqy?usp=sharing
Platform

OS: Ubuntu 20.04.2

What should I do to fix this problem?

Duplicate issue #5253: Bug: Unable to parse gltf file when `extras` is array
Created: 2023-09-26T09:20:56Z
Describe the bug
Unable to parse gltf file when extras is array:
import FAILED: Member "extras" was not of type "object" when reading nodes[1] (basepart#328)

To Reproduce
load gltf file with nodes containing extras as array.
Expected behavior
load gltf file correctly without error
Screenshots

Platform (please complete the following information):

OS: Windows

Closing comment (2023-10-30T07:08:57Z): I suspect this is a duplicate of #4030.
Repository: astral-sh/ruff-vscode

Issue #239: Show rule explanation popup on hover in `pyproject.toml`
Created: 2023-06-20T13:24:43Z
I noticed that when I hover my cursor over a # noqa: ABC123 comment in a .py file, it shows a popup explaining what the ABC123 rule is.
My suggestion is to have this popup also on the pyproject.toml file, when you hover over rules in the tool.ruff.[select|ignore|unfixable] sections, for example.

Duplicate issue #723: [Feature] turn `noqa: <rule>` comments into hyperlinks to the docs
Created: 2025-03-18T05:02:59Z
Context: I'd love for my team to learn the "why" behind the the linting rules in ruff. The docs do a beautiful job explaining them.
Suggestion:
The docs for the "why" behind the rule INP001 are at https://docs.astral.sh/ruff/rules/implicit-namespace-package/
It would be convenient if the VS Code extension turned the INP001 portion of # noqa: INP001 or # noqa: implicit-namespace-package into a clickable hyperlink to the docs page for that rule.
The docker VS Code extension does something similar in docker-compose.yaml and Dockerfile files. For example, the image: <image name> and FROM <base image> statements link to the URL for those images.
Another example is the GitHub Actions extension which turns action names into links to the docs of that GitHub action.

Closing comment (2025-03-18T10:42:15Z): Oh nice! Would you say this means it's not worth doing hyperlinks as well?

Can you provide an example (screenshot) on what does this mean? Is it like a link to the documentation in addition to the content that we're currently showing?

Any thoughts about adding this functionality to pyproject.toml and ruff.toml in the select and ignore arrays? (or is it already there as well)

This is same as #239. I think a TOML specific extension like taplo already provides this feature via the JSON schema but we've also thought about implementing it in the extension or the server itself. But, this is not a high priority given that it already works using another extension.
Repository: astral-sh/ruff-vscode

Issue #414: Provide a way to "force" include an open document even if it is excluded
Created: 2024-02-26T16:54:58Z
I was trying to pass --no-force-exclude to Ruff format but it seems to be ignored.

Output from the extension:
Running Ruff with: /home/app/venv/bin/ruff ['format', '--force-exclude', '--quiet', '--stdin-filename', '/app/core/migrations/0011_populate_something.py']

Use case:
I wanted to be able (while generally ignored migrations files), when adding Django migrations by hand, to be able to format them using Ruff.
That was the case with Black and black extension before switching to Ruff, I believe the black extension was ignoring the ignore list.

Duplicate issue #641: Cannot disable `force-exclude`
Created: 2024-11-08T13:39:56Z
Hi there,
I have a ruff config that I'd like to have enforced in CI/CD and with pre-commit, but I'd like to make sure that even files that I've marked as excluded are still within the scope of what the ruff extension in vscode can work with.
I've tried passing --no-force-exclude via args and my pyproject.toml, but it seems that neither of these get ingested into the VSCode setup.
Looking at the ouptut, it seems that force-exclude is being hard-set, without any way to opt-out, as I see the following in my output?
Running Ruff with: /Users/jvacek/.pyenv/versions/usermanagement/bin/ruff ['check', '--force-exclude', '--no-cache', '--no-fix', '--quiet', '--output-format', 'json', '-', '--stdin-filename', '/Users/jvacek/repositories/...'

Would appreciate the ability to disable the --force-exclude being passed by default.
Thanks!

Closing comment (2024-11-13T12:51:30Z): I think this is actually a dupe of #414
Repository: astral-sh/ruff-vscode

Issue #145: Show errors for whole workspace, not just open files
Created: 2023-03-04T20:10:51Z
Hi!
Is there a setting, that would enable this behavior?
Equivalent to Pylance's python.analysis.diagnosticMode setting.

Duplicate issue #179: Run for all files in directory without opening them all
Created: 2023-04-28T12:57:12Z
Is it possible to run Ruff for all files in a directory (project) without opening every file? I'd like to quickly see if there are any warnings or errors in a project.
Thanks!

Closing comment (2023-06-17T19:25:59Z): (Closing as a duplicate of #145.)
Repository: astral-sh/ruff-vscode

Issue #479: Make `ms-python.python` optional dependency
Created: 2024-05-23T23:34:37Z
IF we could convert this file into typescript, then extension wouldn't need Python installation/activation on target system at all.
Currently Ruff extension needs python interpreter to start the server.
Originally posted by @T-256 in #443 (comment)

Duplicate issue #636: Ruff extension depends on `ms-python.python` breaking non-Pylance LSPs
Created: 2024-10-25T07:42:00Z
Hi!
At Stripe we use Ruff to check our code (very happy with the speed, UX, and lints available). However, we also rely on a different LSP to type-check the code properly at scale. That LSP is incompatible with Pylance, and as such, Pylance needs to be disabled.
Since the Ruff extension depends on ms-python.python, and it in turn automatically installs and enables Pylance, our engineers are forced to manually intervene to disable Pylance whenever the Ruff extension gets re-installed / updated. Currently, there's no way to configure banned extensions in VSCode, so we have tooling to instead remove the extensions when we push an update. However, sometimes Ruff gets updated out of band.
Could we remove the reliance on ms-python.python in the Ruff extension?

Closing comment (2024-10-25T07:49:09Z): Thanks for the kind words!
This is related to #479
Repository: atom/markdown-preview

Issue #99: Split preview to horizontal (by default?)
Created: 2014-06-30T23:14:48Z
Currently when viewing rendered markdown, it splits into a pane to my right. If I don't have 2 30" cinema displays, I usually can't see all of the rendered text.
Could we either change the default or pre-set a keybinding to make it split down?

Duplicate issue #229: Vertical split plane
Created: 2015-04-01T09:35:15Z
A very nice extension!
However, it would be very cool, if there was a setting to preview in a vertical split plane (down) instead of the default horizontal (right) one.

Closing comment (2015-04-01T11:44:52Z): Looks like a duplicate of #99.
Repository: atom/markdown-preview

Issue #276: Style declarations affect the atom editor when markdown preview is active
Created: 2015-07-10T17:46:31Z
Entering style data in the file being previewed appears to affect the whole editor.
Please see the attached image.
<style>
div
{
  font-size:32px;
}
<style>
<div>
TEST
</div>

Duplicate issue #346: Markdown preview toggleable from HTML source / styles can leak
Created: 2015-11-30T14:38:06Z
Despite the readme, this can be toggled for HTML files, and apparently may include styles that can affect the rest of the editor: atom/atom#9868

Closing comment (2015-11-30T15:27:09Z): This is actually a duplicate of #276.
EDIT: Maybe not the first point actually, but HTML is valid markdown, right?
Repository: atom/markdown-preview

Issue #276: Style declarations affect the atom editor when markdown preview is active
Created: 2015-07-10T17:46:31Z
Entering style data in the file being previewed appears to affect the whole editor.
Please see the attached image.
<style>
div
{
  font-size:32px;
}
<style>
<div>
TEST
</div>

Duplicate issue #318: CSS Injection
Created: 2015-10-19T11:48:53Z
If you write something like
<style>
*{
visibility:hidden;
}
</style>
this affects to Atom GUI too, maybe it's something you could fix... or maybe not...

Closing comment (2015-10-19T11:50:29Z): Duplicate of #276, please subscribe there for updates.
Repository: atom/markdown-preview

Issue #374: Links with parens misrenders
Created: 2016-02-19T10:29:43Z
Example [Basic Multilingual Plane (BMP)](https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_Multilingual_Plane)
GitHub:
Basic Multilingual Plane (BMP)
markdown-preview:

markdownlivepreview.com and dillinger.io agrees with GitHub, whereas tmpvar.com/markdown.html agrees with markdown-preview on this.
However, escaping the ending paren with ) doesn't work either, so it seems there's no way to preview links to pages with parens in their URL...

Duplicate issue #415: hyperlink including right parenthesis will be omitted
Created: 2016-08-17T04:58:40Z
content:
[Join (SQL)](https://en.wikipedia.org/wiki/Join_(SQL))

preivew:
Join (SQL))

the link:
https://en.wikipedia.org/wiki/Join_(SQL

the right parenthesis is omitted.

Closing comment (2016-08-17T13:20:01Z): This is a duplicate of #374 - feel free to subscribe there for updates.